Matrix mit dlmwrite Formate Ordnen ..Wie?
ThorstenBWS
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 11:28
Titel : Matrix mit dlmwrite Formate Ordnen ..Wie?
Hallo zusammen,
Also ich möchte mit dlmwrite eingelesene Spalten wieder als Matrix zusammenfügen. Die 1. Spalte der Matrix so mit ganzen Int. Zahlen (6Zeichen) formatiert werden und die die anderen Spalten mit 6 Nachkommastellen sowie unten. Die Ordnung der Spalten ist wichtig.
weiß einer wie ich das genau mit dem dlmwrite Befehl umsetzte? Geht es überhaupt mit dem Befehl? Die erste Spalte ist 4 Zeichen eingerückt. Das passt soweit. Nur die einzelnen Formatierungen nicht.
Bzw. so soll das nachher aussehen.
579609 -.297719E+03 -.433890E+03 0.211799E+03
579612 -.287779E+03 -.432725E+03 0.211844E+03
579616 -.257995E+03 -.428939E+03 0.211763E+03
579619 -.248093E+03 -.427490E+03 0.211658E+03
Bis sieht es so aus:
Code:
dlmwrite ( 'Mgest.asc ',[ M1,M2,M3,M4] ,'delimiter ',' ','coffset ',4 ,...
'newline ','pc ','delimiter ',' ', 'precision ','%06 .7g '...
'newline ','pc ', 'delimiter ',' ','precision ','%06 .7g ',...
'newline ','pc ', 'delimiter ',' ','precision ','%06 .7g ')
_________________ Matlab Newbe
Gast
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am : 09.03.2011, 12:47
Titel :
Hallo,
Soweit ich weiß, geht das so nicht mit dlmwrite.
Versuch es mal so:
Code:
fid=fopen ( 'Mges.asc ','w ') ;
fprintf ( fid,[ ' %d; ',repmat ( ' %12 .6E ',1 ,size ( [ M1,M2,M3,M4] ) -2 ) ,'% 12.6E;\r\n'],[M1,M2,M3,M4]');
fclose ( fid) ;
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 13:38
Titel :
Wenn ich das so übernehme kommt die Meldung:
_________________ Matlab Newbe
Gast
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am : 09.03.2011, 13:46
Titel :
Ja, da haben sich tatsächlich 2 Fehler eingeschlichen
Versuchs mal so:
Code:
fid=fopen ( 'Mges.asc ','w ') ;
fprintf ( fid,[ ' %d; ',repmat ( ' %12 .6E; ',1 ,size ( [ M1,M2,M3,M4] ,2 ) ) ,'% 12.6E;\r\n'],[M1,M2,M3,M4]');
fclose ( fid) ;
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 13:47
Titel :
Muss die Datei Mges.asc schon vorhanden sein oder erzeugt er die?
_________________ Matlab Newbe
Gast
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am : 09.03.2011, 13:49
Titel :
Er erzeugt oder ersetzt sie.
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 13:52
Titel :
Die Ausgabe ist auf diese Weise leider nicht geordnet...siehe:
579594; -4.322710E+002; -4.308030E+002; 2.128640E+002; 5.795950E+005;-4.273150E+002;
-4.309150e+002; 2.122250E+002; 5.795980E+005; -3.876240E+002; -4.353740E+002; 2.112630E+002;
579600; -3.676700E+002; -4.367190E+002; 2.116270E+002; 5.796010E+005;-3.626690E+002;
-4.369240e+002; 2.116950E+002; 5.796030E+005; -3.376490E+002; -4.368080E+002; 2.112080E+002;
579606; -3.176420E+002; -4.358930E+002; 2.114620E+002; 5.796070E+005;-3.076740E+002;
-4.349620e+002; 2.113220E+002; 5.796090E+005; -2.977190E+002; -4.338900E+002; 2.117990E+002;
579612; -2.877790E+002; -4.327250E+002; 2.118440E+002; 5.796160E+005;-2.579950E+002;
-4.289390e+002; 2.117630E+002; 5.796190E+005; -2.480930E+002; -4.274900E+002; 2.116580E+002;
579621; -2.382110E+002; -4.259780E+002; 2.116190E+002; 5.796220E+005;-2.332720E+002;
-4.251910e+002; 2.117240E+002; 5.796230E+005; -2.283360E+002; -4.243620E+002; 2.118840E+002;
_________________ Matlab Newbe
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 13:56
Titel :
Kann man die dlmwrite Formatierungen mit dem fprintf mischen?
Also die Zeilen z.B. mit:
Damit lässt sich eigentlich gut die Ordnung der Matrix zusammen setzten.
Code:
'delimiter ',' ','coffset ',4 ,... %'D 'delimiter',' ', 'precision ','%06 .0e '
'newline ','pc ', 'delimiter ',' ','precision ','%06 .7g ',...
_________________ Matlab Newbe
Gast
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am : 09.03.2011, 14:00
Titel :
Code:
fid=fopen ( 'Mges.asc ','w ') ;
fprintf ( fid,[ ' %d; ',repmat ( ' %12 .6E; ',1 ,size ( [ M1,M2,M3,M4] ,2 ) -2 ) ,'% 12.6E;\r\n'],[M1,M2,M3,M4]');
fclose ( fid) ;
Wenn das jetzt auch nicht geht, hab ich keine Lust mehr
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 14:07
Titel :
..sieht jetzt sehr gut aus.
wenn ich nun an die erste Stelle (Spalte 1) einen Zusatz machen möchte,
genügt das dann mit fprintf? Oder gibts ein Add Befehl den man direkt ansprechnen an?
z.B. setze 30 an stelle ein und die Matrix da runter?
_________________ Matlab Newbe
Gast
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am : 09.03.2011, 14:15
Titel :
einfach noch
vor der anderen fprintf Befehl.
\r\n sorgt hierbei dafür, dass du in die nächste Zeile wechselst.
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 14:18
Titel :
Wenn 30 durch eine Variable ersetzt wird dann mit:
_________________ Matlab Newbe
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 14:29
Titel :
So hats geklappt... falls jemand mal braucht
_________________ Matlab Newbe
Gast
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am : 09.03.2011, 14:31
Titel :
Ne,
Du willst ja erst die Variable schreiben und dann in ne neue Zeile gehen.
Und du musst die beiden zu einem String verknüpfen.
So:
ThorstenBWS
Themenstarter
Forum-Anfänger
Beiträge: 40
Anmeldedatum: 04.03.11
Wohnort: Ulm
Version: ---
Verfasst am : 09.03.2011, 14:49
Titel :
Ein Problem hab ich noch..die Ausgabe leifert mir ab und zu unstetigkeiten über die Tabelle. Wie lege man Tabelle 2-4 so fest, dass es so aussieht?
-.407507E+03 -.433315E+03 0.210905E+03
Momentan sieht es so aus:
[/code]
_________________ Matlab Newbe
Gehe zu Seite 1 , 2 Weiter
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
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.