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.