Verfasst am: 07.11.2013, 17:32
Titel: String in m-File ersetzen
Hallo, ich habe folgendes Problem:
ich möchte ein .m-File mit meinen Ergebnissen erstellen.
Soweit, so gut.
jetzt habe ich das Problem das ich die alten Ergebnisse einzeln durch neuere ersetzen möchte.
"Strrep" hilft mir hier nicht weiter da ich ja das alte Ergebnis nicht mehr weiß...
vereinfacht
Wie kann ich nun also nach dieser Zeile in meinem Strings suchen und idealerweise nur das Ergebnis ersetzen?
Der Befehl "regexprep" scheint in diese Richtung zu gehen nur finde ich da leider noch keine Lösung!
Vielen dank für eure Mühe im voraus!
Hallo dommenicus,
ich sehe da nirgends Strings, sondern nur Zahlen. Kannst Du nochmal versuchen zu erklären was Dein Ziel ist, und nicht wie Du denkst, dass Du es umsetzen möchtest.
Hallo,
das .m-File das ich erstellen/editieren möchte, schreibt meine Ergebnisse bisher als String darein.
deswegen lesen ich auch dieses .m.-File als String wieder aus...
Danke für deine Antwort!
Die Idee mit dem mat-File ist zwar gut, jedoch benutzen die Programme, die danach die Auswertung der Ergebnisse übernehmen, alle diese .m-Files einer festen Form!
mat2str für die Variablen verwenden und den zusammengefügten String der herauskommt in eine irgendeinedatei.m speichern.
wenn du dann die variablen verwenden willst einfach mit
irgendeinedatei
in den Workspace einlesen, verändern und den String mit mat2str neu erzeugen und Datei überschreiben.
@Sirius3
um nochmal zu versuchen es zu erklären...
ich möchte einen String editieren und in diesem String einen gewissen teil ersetzen.
Im prinzip bräuchte ich eine Funktion wie
nur, dass ich in dem String,nachdem ich suche, eine Art Platzhaltervariable habe, nach welcher nicht gesucht wird.
in meinem Fall sollte er nach dem Variablennamen mit dem unbekannten Ergebnis suchen und dann den Variablennamen und das unbekannte Ergebnis mit einem neuen Variablennamen und dem neuen Ergebnis ersetzen.
ich hoffe du kannst halbwegs verstehen was ich meine!
@dommenicus: Also wenn ich Dich richtig verstehe hast Du ein fertiges .m-File in dem an irgendeiner Stelle "variablename = wert" steht und Du willst "wert" durch irgendetwas anderes ersetzen. Dann weißt Du aber doch, dass Du nach "wert" suchst. Du kannst natürlich auch "wert" durch einen eindeutigen String ersetzen, z.B.: "{{ersetzung fuer Variablenname}}". Da die Datei nur als Template dient, muss das ja kein gültiges Matlab sein. Dann ist auch klar, dass die .m-Datei noch nicht vollständig ist.
Verfasst am: 12.11.2013, 23:54
Titel: Re: String in m-File ersetzen
Hallo dommenicus,
Daten sind wirklich viel besser in MAT-Files aufgehoben, anstatt sie mit komplizierten Methdoen in M-Files zu packen. Eine Vermischung aus Code und Daten ist grundsätzlich eine schlechte Idee, denn sie reduziert die Flexibilität und Wartbarkeit des Programms.
Ein MAT-File zu erzeuigen und per LOAD zu laden ist also bestimmt eine bessere Lösung als dynamisch ein M-File zu erstellen.
Aber wenn Du das so bei behalten möchtest, kann das so laufen:
Und danach das File mit dem Inhalt von CStr überschreiben.
Das ist aber wegen des wiederholten Schreibens in ein File sehr ineffizient.
Gruß, Jan
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
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.