Hallo ich hab ein kleinen Problem mit Matlab. Ich will mir ein 16bit langen Testvectorsatz mit Matlab generieren und in eine .TXT datei speichern. die Testvektoren kann ich generieren das ist nich weiter schlimm, aber wenn ich meinen Matrix speichern will kann ich das nur bis zu eien 16x16 Matrix. wie kann ich eine Matrix mit 1024x16 speichern hier ist mein Quellcode: fid = fopen('Test123.txt','w'); for a=1:ende fprintf(fid,'[') for b=1:length(TestVector) if b==16 fprintf(fid,'%d]->[',TestVector(a,b)) else fprintf(fid,'%d,',TestVector(a,b)); end end fprintf(fid,']\n'); end fclose(fid); type Test123.txt
So was macht man nicht mit fprintf! Schau Dir bitte mal den MATLAB-Befehl save an. Da kannste Dir auch den ganzen Quatsch mit fopen usw. sparen (*). Wenn Du C(++) programmieren willst, dann solltest Du besser nicht MATLAB benutzen;-) (auch wenn MATLAB einige (manchmal recht nützliche) Funktionen aus dem C-Schatz intus hat). z.B.:
1 | save 'C:\Eigene Dateien\testvector123.txt' testvector -ascii -tabs; |
speichert eine MATLAB-Variable testvector als Tab-getrennte ASCII-Zeichen in der Datei "testvector123.txt". Und wenn in testvector eine n*m-Matrix steht, dann wird diese auch unabhängig von ihren Dimensionen korrekt ausgegeben. (*) Vorausgesetzt natürlich, es geht nicht um eine bereits bestehende Datei.
Danke ich hab meinen Fehler gefunden ich hab es zwar immer noch mit der ANSI C Lösung aber es geht
Stefan wrote: > Danke ich hab meinen Fehler gefunden Aha, und der wäre? > ich hab es zwar immer noch mit der ANSI C Lösung aber es geht Tja, wenn Du nicht willst... Warum einfach, wenn's auch kompliziert geht?
Der Fehler war in den forschleifen die schleife a soll mir die zeilen zählen also 1024 und die scleife b soll die Spaöten zählen also 16 aber der befehl length(TestVector)ibt mir auch 1024 zurück.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.