Verfasst am: 03.01.2013, 11:47
Titel: Textdatei bearbeiten innerhalb Schleife
Hallo zusammen,
ich habe mich schon sehr durch das gesamte Forum gearbeitet und kam zu Teilen meines Ergebnisses, habe nun aber ein Problem.
Kurz die Problemstellung: Ich habe eine Textdatei und möchte diese abändern. Ich befinde mich hier innerhalb einer Schleife und möchte jeweils das momentan gewünschte "k" in diese Datei einpflegen um diese dann in der Schleife weiterzuverwenden. Ich würde diese gerne auch separat speichern und anschließend wieder löschen, damit ich im nächsten Schleifenschritt wieder die Ausgangsdatei vorliegen habe.
Hier mal mein bisheriger Code:
Code:
for k = 1:100
fid = fopen('/PFAD/Skript_Prototyp_Platzhalter.pvs','r+');
a = textscan(fid,'%*s %s %*s','delimiter',' ','Headerlines',10);
s = strrep(a, '2+i*84',2+k*84);
fprintf(fid,'%d',s);
disp(s);
saveas(s,'/PFAD/Skript_Platzhalter_temp.pvs')
Ich habe hier nur den interessanten Teil gepostet, der Rest interessiert in diesem Fall nicht.
Wo genau liegt hier der Fehler? Ich vermute dass bei fprintf ein Fehler mit dem '%d' herrscht.
Noch eine generelle Frage: Ist dies ein guter Weg, oder gibt es noch elegantere Wege?
Ich habe das Ganze nun komplett anders gelöst, indem ich die Textdatei immer komplett neu schreibe mit fprintf und meine Variable vorher bestimme und dann nur noch so einfüge.
Ich hätte da allerdings noch ein anderes Problem.
Vermutlich sehr banal, aber irgendwie komme ich auch mit längerer Foren- und Google-Suche nicht so wirklich dahinter, bzw. weiter.
Ich habe mehrere Cell-Arrays im Workspace vorliegen und möchte diese zu einer Matrix zusammenfügen.
Wie z.B. so:
nur habe ich hier nicht nur 2 Cells, sondern 2000 und das wäre von Hand eher sinnfrei. Sie sind auch immer gleich aufgebaut, daher müsste es ja etwas Ähnliches wie cell2mat geben, das das Ganze macht.
Ich habe es nun mal mit horzcat versucht. Hierbei ist es mir aber nicht gelungen alle Variablen anzusprechen. Das versuchte ich dann mittels who.
Also quasi:
Deine Variablen heißen tatsächlich v_0001 bis v_2000 ????
Dafür gibt es cell-Arrays.
Dann klappts auch mit horzcat.
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.