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

Speichern von Matrix - unerwünschte Nullen vermeiden

 

gui_einsteiger
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 14.06.2012, 07:48     Titel: Speichern von Matrix - unerwünschte Nullen vermeiden
  Antworten mit Zitat      
Hallo,

ich bin zur Zeit dabei Messungen mit Matlab auszuwerten und die Ergebnisse abzuspeichern. Dabei habe ich das Problem, dass ich gerne alle Messwerte in einer TXT-Datei ausgeben möchte.

Meine Messwerte haben jedoch eine unterschiedliche anzahl an Zeilen. Momentan schreibe ich alle Messwerte in eine Matrix und fülle die restlichen Elemente mit 0 auf.

Bsp:

1 1 1 1
1 1 1 1
1 1 0 0
1 1 0 0

Diese Matrix speichere ich dann mithilfe von dlmwrite in meine Text-Datei. Dies funktionier soweit ganz gut. Jedoch stören mich die zusätzlich angehängten Nullen (kann die Messergebnisse z.B. nicht mit Origin auswerten, ohne die Nullen von Hand wieder zu löschen).

Nun meine Frage: Gibt es eine Möglichkeit, die Nullen z.b. durch - oder einfach eine leeres Element zu ersetzten. Bzw. wie kann ich anderweitig meine Messwerte so speichern, dass ich mein gewünschtes Format erhalte (die einzelnen Spalten liegen mir auch als einzelwerte ohne angehängte Nullen vor)

Mein Wunsch:

1 1 1 1
1 1 1 1
1 1
1 1
Ich hoffe ich habe mein Problem einigermaßen anschaulich beschrieben, sonst bitte einfach nachfragen.

Viele Grüße
gui_einsteiger
Private Nachricht senden Benutzer-Profile anzeigen


_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 14.06.2012, 08:01     Titel:
  Antworten mit Zitat      
Dein Wunsch ist so leider nicht realisierbar, weil eine Matrix komplett befüllt sein muss.

Vielleicht solltest du die einzelnen Zeilen als String(CellArray) abspeichern und dann in die Textdatei schrieben. Da könntest du immerhin die Nullen weglassen und hättest deine Wunschausgabe. Aber als Matrix ist das nicht möglich.
_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
gui_einsteiger
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 14.06.2012, 08:11     Titel:
  Antworten mit Zitat      
Hallo,

danke für deine schnelle antwort. Leider habe ich bis jetzt keine Erfahrung im Arbeiten mit CellArray. Wie kann ich damit mein Problem am einfachsten lösen bzw. die CellArray in meine Datei schreiben?

Meine Ausgangsdaten liegen mir in zwei Matritzen vor, mit jeweils unterschiedlichen Spalten- und Zeilenanzahl. Diese müsste ich ja dann als String in mein CellArray übernehmen und dann abspeichern.

Meine Idee:
cell mit folgendem Befehl anlegen:
Code:


dann an Stelle (1,1) meine erste und an (1,2) meine zweite Matrix übergeben.

Liege ich da richtig? Kann ich das Cellarray dann auch über dlmwrite abspeichern?

Vielen Dank
gui_einsteiger
Private Nachricht senden Benutzer-Profile anzeigen
 
gui_einsteiger
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 14.06.2012, 08:32     Titel:
  Antworten mit Zitat      
Hallo,

habe gerade im nachfolgenden Post gelesen, dass man Matritzen auch mit NaN auffüllen kann. Damit könnte ich auch leben, da mir das beim Einlesen der Daten in Origin keien Probelem machen sollte. Kann ich einfach meine Matrix nach 0 durchsuchen und durch NaN ersetzten, oder bekomme ich dabei Probleme. Ist es evtl sogar möglich, eine Matrix statt mir t=zeros(x,y) mit NaN statt 0-en zu füllen?

Vielen Dank

gui_einsteiger
Private Nachricht senden Benutzer-Profile anzeigen
 
_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 14.06.2012, 09:00     Titel:
  Antworten mit Zitat      
wenn dich das nicht stört, dann kannst du das auch nutzen:
Code:

value = nan(2,3)
 

_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
gui_einsteiger
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 80
Anmeldedatum: 08.03.12
Wohnort: ---
Version: R2013b
     Beitrag Verfasst am: 14.06.2012, 09:17     Titel:
  Antworten mit Zitat      
hallo,

habs grad mal getestet, stört mich nicht beim laden in origin und ist denk ich mal die schnellste Lösung für mein Problem.

Vielen Dank
gui_einsteiger
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 - 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.