|
|
Von der GUI zum Workspace oder so... |
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 15:08
Titel: Von der GUI zum Workspace oder so...
|
 |
Hallo,
habe folgendes Problemchen:
Ich lade über eine GUI ein Array aus einer MAT-Datei. Klappt soweit. Dann will ich die einzelnen Zeilen an zwei schon im MATALB-Workspace vorhandene Variablen
Cycle.t und Cycle.v schicken...
Daraufhin kommt folgende Fehlermeldung:
Was muss ich ändern, damit ich die vorhandenen Cycle.t bzw. Cycle.v überschreiben/ändern kann.
Danke für Eure Hilfe!
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 15:35
Titel:
|
 |
Hallo,
also Cycle.t und Cycle.v sind keine einfachen Variablen. assignin versucht die Eingabe als Variablennamen aufzulösen und da es Punkt findet, meckert es, weil in Variablennamen kein Punkt zulässig ist.
Möglichkeit 1: an Cycle Variable struct übergeben
Möglichkeit 2: evalin zu nutzen was Ausdrücke akzeptiert.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 15:39
Titel:
|
 |
Hallo,
denny hat das richtig dargestellt. Ich hätte allerdings Zweifel, ob die EVALIN-Variante mit Vektoren funktioniert. Und bei der ersten Variante dürften eventuelle andere vorher existierende Felder von cycle verloren gehen, da die Variable komplett überschrieben wird.
Das Arbeiten mit evalin / assignin ist nicht unbedingt empfehlenswert, da es oft schwer nachzuvollziehen und zu debuggen ist.
Bei GUIs sollte man (sofern möglich) lieber mit getappdata / setappdata arbeiten.
Grüße,
Harald
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 15:48
Titel:
|
 |
Da stimme ich Harald zu,
hier ist besser setappdata/getappdata zu nutzen
Ach ja für Vektoren sollte es so gehen:
|
|
|
Zenon |
Themenstarter

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 15:52
Titel:
|
 |
Hallo,
danke für Eure schnellen Antworten.
1. Möglichkeit: Alle Daten kommen an, wie denny es voraussah...allerdings werden andere Felder gelöscht, womit Harald leider recht hat...
2. Hier kommt nur der letzte Wert an...also kein Vektor...
Somit funktionieren beide Varianten für mich nicht. Ich kann auch nicht erkennen, ob bzw wie setappdata helfen soll.
Ein Funktion, auf die ich keinen Einfluss nehmen kann, legt die Cycle struct im Workspace ab, die insgesamt 4 Felder umfasst. Ich muss 2 Felder davon ändern (s.o.) ... gibt es eine elegantere Möglichkeit, als die Daten aus dem Workspace zu ziehen und dann aus der FUnktion heraus Cycle mit 4 Feldern zu überschreiben (nach Variante 1)?
Und wie greife ich dann aus der Funktion auf die Variablen im Workspace zu? Ich kann die ja nicht einfach nutzen und assignin geht ja nicht in die andere Richtung...
|
|
|
Phipo |

Forum-Anfänger
|
 |
Beiträge: 44
|
 |
|
 |
Anmeldedatum: 04.11.09
|
 |
|
 |
Wohnort: Stuttgart
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 16:14
Titel:
|
 |
kann man die zwei cycle Variabeln nicht als globale Variablen definieren? Ist zwar keine besonders schöne Lösung da aber sollte funktionieren.
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 16:17
Titel:
|
 |
Hallo,
Es gibt noch 3 Möglichkeit. Diese Version sollte für dich passen
|
|
|
Zenon |
Themenstarter

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.03.2010, 17:00
Titel:
|
 |
Ja, die hatte ich ja angedeutet, danke für die Umsetzung. So funktioniert es.
Vielen Dank!
|
|
|
|
|
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.
|
|