WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Textdatei bearbeiten innerhalb Schleife

 

Stefan76
Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 03.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.01.2013, 11:47     Titel: Textdatei bearbeiten innerhalb Schleife
  Antworten mit Zitat      
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')

fclose(fid);

delete('/PFAD/Skript_Platzhalter_temp.pvs');

% Verwendung der Datei plus anstehende Berechnungen
% ......




end;


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?

Vielen Dank für Eure Anregungen schon einmal.

Beste Grüße,

Stefan
Private Nachricht senden Benutzer-Profile anzeigen


Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.01.2013, 13:07     Titel:
  Antworten mit Zitat      
Um herauszufinden, wo der Fehler liegt, hilft es oft, das Programm einfach mal zu starten und zu schauen, welche Meldung matlab liefert.

Bist Du sicher, dass matlabs saveas mit .pvs-Dateien umgehen kann?
Private Nachricht senden Benutzer-Profile anzeigen
 
Stefan76
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 03.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.01.2013, 15:40     Titel:
  Antworten mit Zitat      
Hallo Sirius,

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:

Code:
Utmp=[v_0001{1,1} v_0002{1,1}];


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.

Gibt es hierfür eine geeignete Möglichkeit ?

Vielen Dank schonmal.

Viele Grüße,

Stefan
Private Nachricht senden Benutzer-Profile anzeigen
 
Stefan76
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 19
Anmeldedatum: 03.12.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2013, 11:48     Titel:
  Antworten mit Zitat      
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:

Code:
whos = vars;
Utmp = horzcat(vars{1,1});
 


So funktioniert es aber leider auch nicht.

Kann mir dabei jemand helfen?

Vielen Dank.

Schöne Grüße,
Stefan
Private Nachricht senden Benutzer-Profile anzeigen
 
Sirius3
Forum-Guru

Forum-Guru


Beiträge: 441
Anmeldedatum: 12.11.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.01.2013, 13:25     Titel:
  Antworten mit Zitat      
Deine Variablen heißen tatsächlich v_0001 bis v_2000 ????
Dafür gibt es cell-Arrays.
Dann klappts auch mit horzcat.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.