|
|
| Tobi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.03.2012, 08:36
Titel: Mex String Matrix
|
 |
Hallo zusammen,
ich versuche schon eine Weile eine String Matrix in einem C Mex file zu erzeugen und diese dann mit plhs wieder an Matlab zu übergeben.
Die Matrix soll 2 Dimensional sein und möglichst jede Zelle einzeln zur Laufzeit mit Strings gefüllt werden können.
Ich bekomme immer nur eindimensionale Arrays übergeben jedoch nicht 2 Dimensionale.
Hoffe jemand hat dazu vielleicht einen kurzen Codeschnipsel. Das kann ja nicht so aufwendig sein.. Ich bin am verzweifeln
Danke
Tobi
|
|
|
|
|
|
| rainer87 |

Forum-Anfänger
|
 |
Beiträge: 32
|
 |
|
 |
Anmeldedatum: 22.01.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.03.2012, 19:25
Titel:
|
 |
es gibt da so funktionen wie "mxcreatecellmatrix", mit der du direkt eine matrix erstellen kannst. beschrieben wird die mit mxsetcell.
für die genaue funktionsweise müsste ich auch nochmal gucken, wobei auch in der doc von der o.g. funktion ein beispiel ist.
|
|
|
|
| Tobi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.03.2012, 14:39
Titel:
|
 |
Hy Rainer,
ja genau die beiden Stichworte waren der Schlüssel
Grob folgender Code bringt einen zur Lösung falls es jemanden interessiert:
DANKE!
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 02.03.2012, 18:41
Titel: Re: Mex String Matrix
|
 |
Hallo Tobi,
Eine "Char Matrix" ist eine Matrix vom Typ CHAR. Du suchst nach einem "Cell String". Beides ist keine "String Matrix".
Gruß, Jan
|
|
|
|
| Tobi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.03.2012, 11:48
Titel:
|
 |
Hallo Jan,
ich habe einfach eine Matrix gesucht in die ich Strings packen kann. Ich weis nun nicht was du mir sagen willst.
Ob eine String Matrix und eine CellMatrix mit Strings nun was anderes ist bzw. allgemein eine String Matrix nun was anderes ist als das was ich nun habe weis ich nicht. Bei den ganzen Bezeichnungen tu ich mir schwer.
Aber lass mich nicht dumm sterben und erklär mir doch bitte wo da die Unterscheide sein sollen und welchen Name ich nun der Matrix geben soll die ich nun verwende. Oder meinst du ich hab die falsche Matrix genommen für den Zweck?
Tobi
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.03.2012, 16:42
Titel:
|
 |
| |
 |
|
Hallo Tobi,
Dann versuche ich mal die Begriffe zu erklären:
1. Ein "String" ist in Matlab ein Zeilen-Vektor ([1 x N]) des Typs CHAR.
2. In Matlab kann man auch eine CHAR-Matrix erzeugen, wobei dann alle Strings (Zeilen-Vektoren) die gleiche Länge haben. Dies ist ein Überbleibsel von Matlab 4, als es noch keine Cell Strings gab.
3. Ein CELL-Array nimmt jeden Typ von Daten auf. Wenn man darin nur Strings speichert, wird es Cell String genannt. Dies ist gut geeigent, um eine Liste von Strings verschiedener Länge zu speichern.
Die meisten String-Funktionen laufen auch mit Cell Strings, wie STRCMP, STRNCMP, STRFIND, UPPER, LOWER, DEBLANK, STRTRIM, etc.
Eine "String-Matrix" wäre ein [M x N] Matrix, die als Elemente Strings enthält - dies ist in Matlab nicht möglich. Ein {M x N} Cell String existiert dagegen.
Strings in einer CHAR-Matrix zu speichern ist nur in seltenen Fällen praktisch. Es ist meist ineefizient, weil die Strings spaltenweise im Speicher stehen:
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|