|
|
char-Inhalt an bestimmter Stelle mittels Vektor trennen |
|
Curro |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.12.2015, 02:27
Titel: char-Inhalt an bestimmter Stelle mittels Vektor trennen
|
 |
|
 |
|
Hallo,
für eine Studienarbeit schreibe ich ein Programm mit dem ich ein Simulationsprogramm über eine Textdatei, in der alle Befehle für alle Parameter stecken, ansteuere.
Die Befehle darin sehen in etwa so aus:
CAB:aeoifnWE=23
WEF::eof=2
WP::sdfsdfsefe=93.1234
usw....
Diese Befehle werden in dasCell-Array "Daten" 576x2 übergeben.
Um die Parameter-Werte zu ändern habe ich eine Funktion geschrieben:
Old_Parameter ist ein char-Vektor der zu änderende obige Befehle enthält.
Als Input erhält die Funktion verschiedene Vektoren (um mehrere Parameter auf einmal zu ändern). Der Vektor "Number_of_Signs" enthält dabei die Anzahl der Zeichen der Befehle bis zum "=" des Befehls. also z.b. [15;19;22]
Mit folgendem Code
wollte ich die Befehle aus dem Datensatz ohne den alten Parameter-Wert abgreifen, damit ich zB. nur noch "CAB:aeoifnWE=" hab.
Mein Problem ist, dass aus "Number_of_Signs" immer nur das erste Element genommen wird, sodass die restlichen Befehle vor oder nach dem "=" abgeschnitten werden.
Hab alles mögliche versucht... nicht mal mit einer for-Schleife bekomme ich es hin... Ich würde mich sehr freuen wenn mir jemand mit einer Idee weiterhelfen kann.
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 06.12.2015, 10:54
Titel:
|
 |
Zitat: |
Diese Befehle werden in dasCell-Array "Daten" 576x2 übergeben. |
für mich sieht das so aus als hättest du doch dann schon string und zahl getrennt.
ich kann dem ganzen hier noch nicht folgen.
das sieht dimmensionsmäßig irgendwie sehr komisch aus.
kannst du mal ein lauffähiges minimalbeispiel posten das dein problem verdeutlicht. was du erreichen willst etc.
_________________
richtig Fragen
|
|
|
Curro |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.12.2015, 12:59
Titel:
|
 |
Sry für die Verwirrung. Hab mich vertan ist ein 576x1 cell-Array, das vorher schon von den Zahlen zu trennen, könnte ich auch mal versuchen. Probier ich mal;)
Hier nochmal verständlicher.
Was ich habe ist (Input der Funktion):
Es sollen also 3 Parameter geändert werden.
Was ich möchte: Die zu ändernden Befehle (Line) nach dem = abzuschneiden, damit ich den neuen Parameter dranhängen kann.
Meine Funktion:
Hab alles was mir einfiel probiert, läuft aber nicht.. Wenn klappt es nur, dass nur das erste Element aus Number_of_Signs benutzt wird und dann alle nachkommenden Befehle an der falschen Stelle abgeschnitten werden.
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 06.12.2015, 13:13
Titel:
|
 |
das siht alles unnötig kompliziert aus. warum liest du die text datei nicht gleich getrennt ein mit = als delimiter ?
_________________
richtig Fragen
|
|
|
Curro |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.12.2015, 14:06
Titel:
|
 |
Eine kleine Frage dafür; gibt es eine Möglichkeit das Trennungszeichen "=" dann zu behalten? Weil wenn ich es nachträglich ans Ende jeder Zelle der ersten Spalte einfüge, hab ich ein Problem, da nicht in jeder Zeile ein "=" ist und es dann an vielen Stellen zu einer Fehlermeldung führen würde.
Habs nämlich jetzt so:
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 06.12.2015, 15:03
Titel:
|
 |
das nicht jede zeile ein = zeichen enthällt war aus deinen beispiel daten nicht zu entnehmen. wenn das ganze nicht einheitlich ist, ist es natürlich schwerer zu verarbeiten.
_________________
richtig Fragen
|
|
|
Curro |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2015, 11:15
Titel:
|
 |
Damit hab ich es hingekriegt!! Danke dir, jetzt läuft das Programm
|
|
|
|
|
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.
|
|