|
|
Zahlen durch string ersetzen |
|
Wieland |
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 03.01.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.05.2020, 20:13
Titel: Zahlen durch string ersetzen
|
|
Hallo,
ich habe eine Matrix (double) 87866x1 mit unterschiedlichen Zahlen und möchte bestimmte Zahlen durch ein string ersetzen. z. B. alle Zahlen der Größe 7000110 durch B01.
Dafür möchte ich gerne die Funktion find verwenden.
Wenn die Matrix "Name" heißt, hatte ich folgendes versucht:
Name(find(Name == 7000110)) = "B01"
Das funktioniert leider nicht.
Ein wahrscheinlich trivales Problem, aber leider komme ich nicht auf die Lösung.
Vielen Dank im vorraus für die Hilfe.
Wieland
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.05.2020, 21:18
Titel:
|
|
Hallo,
Zitat: |
Das funktioniert leider nicht. |
Bitte immer dazu schreiben, was daran nicht funktioniert.
Ein Problem dürfte sein: Double kann nur Zahlen enthalten.
Wenn du einen Teil der Zahlen durch Strings ersetzen willst, kannst du z.B. mit num2cell in ein Cell Array umwandeln.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Wieland |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 03.01.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.05.2020, 21:56
Titel:
|
|
Hallo Harald,
danke für die erneut schnelle Antwort!
Nach dem Umwandeln in ein Cell Array kommt beim Anwenden der Formel
Name(find(Name == 7000110)) = "B01"
die Fehlermeldung:
Undefined operator '==' for input arguments of type 'cell'.
Lässt sich "find" nicht bei Cell Arrays anwenden? Und was könnte ich anstellen auf oben erfragte Lösung zu kommen?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 02.05.2020, 22:28
Titel:
|
|
Hallo,
Zitat: |
Lässt sich "find" nicht bei Cell Arrays anwenden? |
Nein, das Problem ist (wie die Fehlermeldung sagt) bei ==
Das find ist sogar überflüssig.
Wenn du erst vergleichst und dann in Cell umwandelst, sollte es gehen:
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Wieland |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 12
|
|
|
|
Anmeldedatum: 03.01.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.05.2020, 11:10
Titel:
|
|
Danke Harald, klappt super, auch wenn es doch einiges an Rechenzeit kosten, aber immer noch schneller als die Schleife, die ich vorher programmiert hatte (ohne dabei das Problem mit den Strings gelöst zu haben).
Da ich mehrere Zahlen ersetzen musste, habe ich die "selects" durchnummeriert, was gut funktioniert hat.
schönen Sonntag
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|