|
Kim Sarah |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 24.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.12.2010, 12:09
Titel: cell aray in eine Matrix
|
 |
Hallo Leute,
ich habe folgendes Problem. Ich will die Einträge von einer Tabelle in eine Matrix umwandeln. Dazu habe ich das eingegeben:
Ich kriege nun zwar eine Matrix, aber ich kann keine 2-stelligen Einträge mehr machen, weil der Befehl cell2mat die einzelnen Ziffer als einen einzelnen Eintrag in der "single matrix" schreibt. Und da die "single Matrix" noch als String steht muss ich diese nun noch in num umwandeln durch str2num.
Habt ihr eine Lösung für mein Problem? Gibt es vllt ein Befehl der den ganzen Prozess aufeinmal macht?
Danke schon mal:D
|
|
|
|
|
_Peter_ |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.12.2010, 15:10
Titel:
|
 |
Hallo Kim,
im Hilfebeispiel werden auch 2-stellige Zahlen verarbeitet und das funktioniert ohne Probleme.
Was steht in "handles.Knoten" drin? Sind das strings? Kannst du da ein exaktes Beispiel nennen?
Gruß
Peter
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 06.12.2010, 16:27
Titel:
|
 |
Hallo
Bitte ein lauffähiges Beispiel erstellen, es ist total unklar warum du CELL2MAT/NUM2STR nutzt..
Nutzt du UITABLE? Was liest du denn für Werte? Mehr Info Bitte!
|
|
|
Kim Sarah |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 24.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 00:47
Titel:
|
 |
Hallo,
sry für dir fehlenden infos.
Ja ich benutze ein uitable, namens Knoten, um im GUI Zahlen in eine Tabelle einzutippen.
Diese Tabelle hat 5 Zeilen und 3 Spalten, z.B.:
x y z
1 5 7
6 4 10
3 5 8
1 5 7
11 3 4
Nun möchte ich aus dieser Tabelle mit diesen Werten eine Matrix (5x3) machen mit denen ich weiterrechnen kann.
Ich hoffe die Infos reichen jetzt.
Danke
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 13:04
Titel:
|
 |
Hallo,
Zitat: |
Ich hoffe die Infos reichen jetzt.
|
Ja eig. schon, die Antwort lautet verwende cell2mat. Also wenn ich mir eine Tabelle erstelle und dort beliebeige Zahlenwerte eingebe und dann mit cell2mat in eine Matrix umwandle funktioniert das ohne Probleme.
Was du mit "single Matrix" und dem num2str (im 1. Post) willst verstehe ich leider nicht.
MFG
Sco
|
|
|
Kim Sarah |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 24.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 13:54
Titel:
|
 |
Hallo,
danke erst mal.
ich kriege das irgendwie nicht hin.
Kann mir vllt jemand ein Befehl mit cell2mat schreiben, womit ich die Daten von der uitable aus dem GUI hole und sie dann in eine Matrix umwandle?
Vielen Dank.
|
|
|
Kim Sarah |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 24.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 14:06
Titel:
|
 |
und noch was :
Vielleich solltet ihr noch wissen, dass mein Hauptproblem mit cell2mat ist,
dass die die Matrix als ein char-Array gespeichert wird und nciht etwa als ein double array.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 14:14
Titel:
|
 |
Hallo,
an sich sollte str2double (ohne cell2mat) das Problem lösen.
Grüße,
Harald
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 14:32
Titel:
|
 |
Hallo Harald,
vielleicht stehe ich ja auf dem Schlauch, aber wenn ich mir eine Tabelle erstelle, die Felder editable mache, bieliebe Werte eingebe, die Werte mit dem get Befehl in eine CellMatrix speichere
und dann cell2mat anwende erhalte ich eine "numerische" Matrix (double). Verwende ich jedoch str2souble erhalte ich nur "NAN's"
Ich verstehe nicht warum es nicht mit cell2mat funktionieren soll?
MFG
Sco
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 14:36
Titel:
|
 |
Hallo sco,
ich habe zugegebenermaßen nur in MATLAB ein Cell Array erzeugt, von dem ich vermutet habe, dass es so aussieht wie das, was man von uitable bekommt. Zudem könnte hier das Problem mit dem Character Array auftreten.
Insofern: wenn es zur Lösung des Problems beiträgt, ists gut - wenn nicht, hoffe ich einfach, dass sich eine andere Lösung findet.
Edit: Bei mir kommen die Daten direkt als Double-Array zurück. Insofern kann ich das eigentliche Problem nicht nachvollziehen.
Grüße,
Harald
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 16:38
Titel:
|
 |
Welche Matlab Version verwendest du?
|
|
|
Kim Sarah |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 24.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 23:10
Titel:
|
 |
verwende matlab 7.10.0 R2010a
|
|
|
Kim Sarah |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 24.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.12.2010, 23:58
Titel:
|
 |
soo Sco ich hab jetzt genau dasselbe probiert wie du und bei mir kommt komischerweise eine fehlermeldung wenn ich zweistellige zahlen eintrage in die uitable und bei einstelligen zahlen kriege ich auch keine richtige matrix wie du sie bekommst sondern ein Block von Zahlen
Bei einstelligen Einträgen
bei 2-stelligen Einträgen eine Fehlermeldung
kann mir jemand sagen woran das liegen könnte?
|
|
|
Sco |

Forum-Meister
|
 |
Beiträge: 699
|
 |
|
 |
Anmeldedatum: 15.08.10
|
 |
|
 |
Wohnort: Dundee
|
 |
|
 |
Version: 2008a, 2010a
|
 |
|
|
 |
|
Verfasst am: 08.12.2010, 03:14
Titel:
|
 |
Hallo,
ich hatte jetzt die Möglicheit es auch mit deiner Matlab-Version zu testen (zuvor mit 2008a), und bei mir tritt der Fehler auch auf. Mathworks muss wohl in den 2 Jahren etwas geändert haben (was ich aber nicht so dolle finde, da dann wohl meine "alten" GUIs nicht mehr auf den neuen Versionen laufen-->muss ich aber erstmal selber sehen, werd das morgen mal ausprobieren). Jedenfalls kannst du wie Harald schon meinte den Befehl str2double verwenden um den "Fehler" zu umgehen:
In der Zeile 89 von cell2mat, sollte muss der Ausdruck:
eine Zahl ergeben, was wohl bis min 2008a auch der Fall war. Bei Matlab 2010a ergeben sich dort jedoch strings, daher der cat Fehler. Somit vermute ich mal, dass Matlab nun die Daten der Table als Cellarray mit strings exportiert und zuvor als Cellaray mit double (bzw. eines Zahlenformates)?
Ein Indiz dafür wäre, dass:
nur NAN's ergibt (Siehe mein letztes Posting), hingegen:
die gewünschte Matrix ergibt.
MFG
Sco
|
|
|
Kim Sarah |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 24.11.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.12.2010, 14:45
Titel:
|
 |
Danke für eure Hilfe!!
ich hab das problem jetzt mit str2double gelöst.
Gruß
Sarah
|
|
|
|
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.
|
|