|
|
Text in Spalte einer Matrix im WS |
|
Sebbl |

Forum-Century
|
 |
Beiträge: 131
|
 |
|
 |
Anmeldedatum: 09.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 14:37
Titel: Text in Spalte einer Matrix im WS
|
 |
Hi,
ich habe es ja soeben mit Hilfe dieses Forums hinbekommen (Thanks Alex) meine Werte in bestimmte Zellen der WS-Matrix zu schreiben.
Nun hänge ich jedoch am nächsten Problem. Ich hätte nun gern, dass die erste Zeile als Spaltenüberschrift dient.
D.h. ich möchte z.B. in die Zeile 1, Spalte 2 meiner Matrix (param) den einfachen String "Text1" schreiben. Leider will mir das nicht gelingen.
zur zeit versuche ich es wie folgt :
Gruß Sebbl
|
|
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 14:42
Titel:
|
 |
Moin,
das kann auch nicht funktionieren, da in Matlab Arrays nur Zahlenwerte oder gleichlange Strings akzeptiert. In deinem Fall wäre die einfachste Lösung die Verwendung von Cell-Arrays:
Natürlich muss "param" dann vorher auch ein Cell-Array sein.
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Sebbl |
Themenstarter

Forum-Century
|
 |
Beiträge: 131
|
 |
|
 |
Anmeldedatum: 09.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 14:51
Titel:
|
 |
mhh versteh ich grad nicht....
da der Code ja der gleiche ist, muss ich also meine Matrix als Cell-Array festlegen.
Wie mache ich das ?
Gruß Sebbl
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 14:56
Titel:
|
 |
Der Code ist nicht der gleiche - bei mir sind es geschweifte Klammern
Es kommt darauf an, was du vorher machst, d.h. wie die Matrix in den WS kommt...
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Sebbl |
Themenstarter

Forum-Century
|
 |
Beiträge: 131
|
 |
|
 |
Anmeldedatum: 09.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 15:16
Titel:
|
 |
ich lese meine Matrix über eine csv-Datei ein.
D.h. die Matrix besitzt in dem Beispiel mindestens 2 Zeilen und 2 Spalten...
meiner Meinung nach ist das ja dann ein Array, oder liege ich da falsch ?
als Fehlermeldung bekomme ich :
??? Error using ==> evalin
Undefined function or variable 'Text1'.
Error in ==> Motorauswertung>edit_LD_M_Callback at 704
evalin('base',['param{1,2}=' 'Text1' ';']);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> Motorauswertung at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
Gruß Sebbl
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 15:35
Titel:
|
 |
Da hast du Recht. Allerdings benötigst du, um Text hinzufügen zu können, ein Cell-Array.
Beispiel:
Was dein String problem angeht, es müsste so lauten:
Da habe ich vorher nicht dran gedacht.
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Sebbl |
Themenstarter

Forum-Century
|
 |
Beiträge: 131
|
 |
|
 |
Anmeldedatum: 09.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 15:53
Titel:
|
 |
Danke schonmal für deine bisherigen Mühen, aber leider funktioniert das Ganze immernoch nicht.
Fehlermeldung :
??? Cell contents assignment to a non-cell array object.
Error in ==> Motorauswertung>edit_LD_M_Callback at 703
evalin('base',['param{1,2}=''Text1'';']);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> Motorauswertung at 43
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
Gruß Sebbl
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 16:00
Titel:
|
 |
Leider bringt die Fehlermeldung so nicht viel. Was hast bis dahin mit dem (Cell-?)Array angestellt? Wie sieht der Code aus?
Bei mir funktioniert dieses Beispiel:
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Sebbl |
Themenstarter

Forum-Century
|
 |
Beiträge: 131
|
 |
|
 |
Anmeldedatum: 09.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.08.2009, 20:46
Titel:
|
 |
Danke, also dein Beispiel funktioniert
Kannst du mir vielleicht mal deine 2. Codezeile etwas erklären...
noch fehlt mir dazu etwas das Verständnis
Gruß Sebbl
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 12.08.2009, 08:28
Titel:
|
 |
Moin,
MAT2CELL macht aus einer Matrix ein Cell-Array. Dabei musst du an die Funktion übergeben, wie das Cell-Array erstellt werden soll, d.h. wie groß die Untermatrizen im Cell-Array sein sollen und daraus ergibt sich dann auch die Anzahl der Einträge. Da bei dir ja nun jeder Eintrag separat im Cell-Array stehen soll dürfen die Vektoren für die Größendefinition nur "1"en enthalten, damit erstellst du dann formal 1x1-Matrizen. Die SIZE-Funktion ist dabei nur dazu da, die Dimensionen der Ausgangsmatrix zu ermitteln, da die Summe der Einträge in den Vektoren die jeweilige Dimension der Ausgangsmatrix ergeben müssen.
Ich hoffe das war jetzt halbwegs verständlich.
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Sebbl |
Themenstarter

Forum-Century
|
 |
Beiträge: 131
|
 |
|
 |
Anmeldedatum: 09.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.08.2009, 10:15
Titel:
|
 |
Vielen Dank
Ich habe deinen Code jetzt verstanden und diesen an mein m-File anpassen können. Funktioniert
Leider war meine Vorstellung etwas falsch, da ich dieses Cell-Array ja gern in eine csv-Datei schreiben möchte.
Vielleicht hast du ja einen Vorschlag wie ich folgendes umsetzen kann.
Ich schreibe in einige Editierfelder Werte, welche meine Parameter sind. Diese Parameter schreibe ich zusätzlich in eine csv-Datei, um sie beim Neustart dort wieder auslesen und diese in Excel auch einsehen zu können.
Nun möchte ich jedoch, dass über den Werten der Variablenname erscheint.
Bsp:
Variable 1 Variable 2 --> Überschriften
100 234 --> Werte aus param
Gruß Sebbl
|
|
|
steve |

Ehrenmitglied
|
 |
Beiträge: 2.029
|
 |
|
 |
Anmeldedatum: 03.09.07
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: R2024a
|
 |
|
|
 |
|
Verfasst am: 12.08.2009, 10:55
Titel:
|
 |
Moin,
wenn du die Sachen eh in Excel anschauen willst, dann könnte dir (wenn die Datenmengen nicht allzugroß sind) auch
weiterhelfen. Wenn es dir nur darum geht die Überschriften in File zu bekommen, dann nimm wieder von dieser Cell-Array-Lösung Abstand und erstelle die Überschrifen ganz normal als Strings. Diese schreibst du dann in ein File (Suche nach FPRINTF) und dann anschließend in dieses auch die Matrix. Also quasi 2 Schreibzugriffe.
Gruß
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
Sebbl |
Themenstarter

Forum-Century
|
 |
Beiträge: 131
|
 |
|
 |
Anmeldedatum: 09.07.09
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.08.2009, 13:52
Titel:
|
 |
hey Alex,
irgendwie bekomm ich das Ganze noch nicht auf die Reihe. Ich muss auch mit csv dateien arbeiten.
hier mal ein einfaches Beispiel :
bis hier hin funzt alles super
somit stehen in Zelle A2=1 und B2=2
und nun möchte ich in die erste Zeile der CSV die Einträge Test1(A1) und Test2(B1) setzen
Alles was ich jetzt mit fprintf versucht habe fruchtet nicht so wirklich.
Gruß Sebbl
|
|
|
|
|
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.
|
|