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

Workspace Variablen in eine Tabelle zusammenführen

 

lonelydriver
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 09.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2013, 21:27     Titel: Workspace Variablen in eine Tabelle zusammenführen
  Antworten mit Zitat      
Hallo,

ich habe folgendes Problem.

Und zwar habe ich eine Messung aufgenommen. Dabei wurden die Abtastzeitpunkte durchnummeriert und dazu der Wert aufgenommen.
Unter der Spalte "Value" im Workspace wird angezeit: 1x1900 double
1900 entspricht der Anzahl der Abtastungen.
Das ganze sieht dann so aus.
1 2 3 4 ...
715 713 723 720 ...

Dann wurde noch eine Tabelle unter Workspace abgelegt.
diese stellt die verstrichene Zeit am geweiligen Abtastzeitpunkt dar.
Unter der Spalte "Value" im Workspace wird angezeit: 1x1900 double

1 2 3 4...
0,3 0,6 0,9 1,2...

Ich möchte nun eine neue Tabelle erstellen
in der Form:
0,3 0,6 0,9 1,2...
715 713 723 720...

Damit habe ich es schon probiert, komme aber nicht klar damit.
http://www.mathworks.de/de/help/sta.....-workspace-variables.html

Hoffentlich kann mir jemand helfen.
Das wäre super!

der Viktor.
_________________

Wer nicht wagt, der nicht gewinnt!
Private Nachricht senden Benutzer-Profile anzeigen


Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.12.2013, 02:30     Titel:
  Antworten mit Zitat      
Hallo Viktor,

Wenn ich dich richtig verstehe, meinst du mit Tabelle Vektoren & Matrizen, oder?

Du sprichst von 1x1900 doubles. Daher nehme ich an, dass die '1 2 3 4...', die du angegeben hast, keine Daten sind, sondern damit die Indizes der Werte gemeint sind?

Code:
Messung = [715 713 723 720];
Zeit    = [0.3 0.6 0.9 1.2];
alle    = [Zeit; Messung]


Grüße,
Seban
Private Nachricht senden Benutzer-Profile anzeigen
 
lonelydriver
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 09.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2013, 03:37     Titel:
  Antworten mit Zitat      
genau. Das sind die Indizes der Werte gewesen.

Danke Very Happy , denn es hat funktioniert.

Diese "Tabelle" bräuchte ich jetzt nur noch in einem csv. Format
und auch als xls.

mit dem Befehl

Code:
dlmwrite('alle.csv',alle,',');


bekomme ich
0,3 0,6
0,9 1,2...

715 713
723 720...

also erst die Zeiten der Messpunkte
und darunter dann die Werte

ich möchte aber eine richtige Tabelle bzw. die Werte direkt nach der Messzeit.

Das wäre noch toll, wenn das klappen würde.
_________________

Wer nicht wagt, der nicht gewinnt!
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.12.2013, 04:12     Titel:
  Antworten mit Zitat      
Code:
dlmwrite('alle.csv',alle',',');


Grüße,
Seban
Private Nachricht senden Benutzer-Profile anzeigen
 
lonelydriver
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 09.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2013, 04:45     Titel:
  Antworten mit Zitat      
Hallo Seban,

tausend dank!

ein Problem hätte ich noch!

In Exel erscheint dann

0.0033155 720

12.465,72 entspricht 12,465sek, 720 (720 ist der Messwert) (hier fehlt die Null)

899.98 718

Also werden die führenden Nullen nicht gezählt, und es werden dann
nur immer 5 Stellen ausgegeben

bei 833,7004 macht der er im csv file einfach 833,7 daraus.
Das ist mir zu ungenau.

Wie lassen sich die Zahlenwerte exakt Ziffer für Ziffer nach .csv. oder gerne auch nach .xlsx exportieren?

Vielen Dank schonmal!
_________________

Wer nicht wagt, der nicht gewinnt!
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.12.2013, 05:00     Titel:
  Antworten mit Zitat      
Gern geschehen.

Code:
dlmwrite('alle.csv', alle', 'delimiter', ',', 'precision', 20);

Die Matlab-Hilfe soll übrigens ziemlich gut sein Razz
http://www.mathworks.de/de/help/mat.....write.html#namevaluepairs

xlswrite überträgt glaub ich (Achtung gefährliches Halbwissen) immer die Präzisen Werte.

Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
lonelydriver
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 09.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2013, 05:28     Titel:
  Antworten mit Zitat      
ich habe schon mit xlswrite probiert und habe mich an die Matlab
Hilfe gehalten.
xlswrite(filename,A,sheet)
Leider klappt da nix.

Wäre nett, wenn mir einer einen xlswrite Befehl geben könnte.

Gute Nacht erstmal Very Happy
_________________

Wer nicht wagt, der nicht gewinnt!
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.12.2013, 05:38     Titel:
  Antworten mit Zitat      
Was hast du denn genau versucht?
Private Nachricht senden Benutzer-Profile anzeigen
 
lonelydriver
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 09.12.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2013, 05:56     Titel:
  Antworten mit Zitat      
Code:
xlswrite('alle.xlsx',alle', ', ');


liefert die Werte als Exel Datei ohne Genauigkeitsverlust untereinander. In Spalte A die Zeit und Spalte B den Wert.

Very Happy


Und jetzt gn8 Very Happy
_________________

Wer nicht wagt, der nicht gewinnt!
Private Nachricht senden Benutzer-Profile anzeigen
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.12.2013, 06:07     Titel:
  Antworten mit Zitat      
Allerdings erzeugst du jetzt in der xlsx ein neues Sheet namens '.
Vgl.
Code:
xlswrite('alle.xlsx', alle', ', ');
xlswrite(filename,  A,     sheet)


Schlaf gut Very Happy
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.