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

anfängerfrage: txt Datei aus Matrix erstellen

 

Konstrukteur
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2020, 10:37     Titel: anfängerfrage: txt Datei aus Matrix erstellen
  Antworten mit Zitat      
Guten Morgen,

Ich hoffe ihr könnt mir etwas weiterhelfen.

Ich möchte im CAD eine Punktewolke aus einer Matrix erstellen.
Hierfür müsste ich eine Matrix in eine txt Datei schreiben.

Wichtig ist aber, dass die Formation der txt passt, die einzelnen Werte sollten wie in meinem Beispiel ausgegeben werden.

X,Y,Z
X,Y,Z
…..
…..

Könntet Ihr mir vielleicht sagen, mit welchem Befehl ich das am besten hinbekomme?
Private Nachricht senden Benutzer-Profile anzeigen


andreas.apostolatos
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 06.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2020, 10:47     Titel:
  Antworten mit Zitat      
Hallo,

wenn die Matrix in MATLAB T heißt und die Koordinaten X, Y, Z in den Spalten T(:, 1), T(:, 2) und T(:, 3) entsprechend gespeichert sind, kann die gewünschte txt Datei in folgender Art erstellt werden,

Zitat:
fileHandle = fopen(matrix.txt, 'w');
for i = 1:length(T(:, 1))
fprintf(fileHandle, '%d,%d,%d\n', T(i, 1), T(i, 2), T(i, 3));
end
fclose(fileHandle);


Liebe Grüße,
Andreas
_________________

Dr.-Ing. Andreas Apostolatos
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.446
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.05.2020, 10:52     Titel:
  Antworten mit Zitat      
Hallo,

mit writematrix (ab R2019a) dürfte es sogar noch etwas einfacher gehen:
Code:
writematrix(T, 'myfile.txt', 'Delimiter', ',')


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2020, 10:59     Titel:
  Antworten mit Zitat      
Danke für die schnellen Antworten.

Leider komm ich so nicht ganz zu meinem erhofften Ergebnis.

Hab euch wahrscheinlich zu wenig Infos dazu gegeben.

Es handelt sich um eine 16x16 Matrix (siehe Anhang).

Die txt Datei sollte aber keine 16x16 ausspucken, sondern die Koordinaten des jeweiligen Punktes anhand Reihe (X), Spalte (Y), Wert (Z).

Mittelwert.mat
 Beschreibung:

Download
 Dateiname:  Mittelwert.mat
 Dateigröße:  1.08 KB
 Heruntergeladen:  241 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
andreas.apostolatos
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 06.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2020, 11:04     Titel:
  Antworten mit Zitat      
Hallo,

in welcher Reihenfolge sind die entsprechenden Koordinaten X,Y,Z in Variabel Mittelwert gespeichert?

Schöne Grüße,
Andreas
_________________

Dr.-Ing. Andreas Apostolatos
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2020, 11:12     Titel:
  Antworten mit Zitat      
Die Reihen der Matrix sind die X-Koordinaten, die Spalten die Y-Koordinaten und die Werte die Z-Koordinaten.

Also z.B.:

3,2
1,6

X=1 Y=1 Z=3
X=2 Y=2 Z=6
Private Nachricht senden Benutzer-Profile anzeigen
 
andreas.apostolatos
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 06.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2020, 11:18     Titel:
  Antworten mit Zitat      
Hallo,

in diesem Fall würde ich den folgenden Code empfehlen,

Code:
fileHandle = fopen('Mittelwert.txt', 'w');
for i = 1:length(Mittelwert(:, 1))
    for j = 1:length(Mittelwert(1, :))
        fprintf(fileHandle, '%d,%d,%d\n', i, j, Mittelwert(i, j));
    end
end
fclose(fileHandle);


Ich hoffe, dass es hilft.

Liebe Grüße,
Andreas
_________________

Dr.-Ing. Andreas Apostolatos
Private Nachricht senden Benutzer-Profile anzeigen
 
Konstrukteur
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 21.04.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.05.2020, 11:28     Titel:
  Antworten mit Zitat      
Vielen Dank, das hilft mir weiter.
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 - 2024 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.