www.mikrocontroller.net

Forum: PC Hard- und Software MATLAB Matrix speichern


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.:
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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke ich hab meinen Fehler gefunden
ich hab es zwar immer noch mit der ANSI C Lösung aber es geht

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.