|
|
set-Befehl in for-Schleife |
|
moongoblin |
Forum-Fortgeschrittener
|
|
Beiträge: 57
|
|
|
|
Anmeldedatum: 29.10.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.03.2011, 09:56
Titel: set-Befehl in for-Schleife
|
|
Ich bin mir sicher es ist ein simples Problem, bekomme es aber leider selber nicht raus. Die folgende for-Schleife soll 10 checkboxes aktivieren. Irgendwie klappt es nicht, dass er den Zähler der Schleife als Teil des Namens (also z.B. handles.check_channel1) übernimmt. Wie muss ich das schreiben?
Irgendwie hab ich das Problem immer wieder... wo muss ich welche Klammern, Häckchen etc. setzen damit er was wie interpretiert.
Danke für eure Hilfe!
|
|
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 24.03.2011, 10:28
Titel:
|
|
Hallo moongoblin,
Eckige Klammern enn du einen String zusammensetzen willst. und da num2str() eine funktion ist, darfst du diese nicht in Hochkommas setzen weil du dann aus dem Funktionsaufruf einen String machst.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
moongoblin |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 57
|
|
|
|
Anmeldedatum: 29.10.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.03.2011, 10:55
Titel:
|
|
Fehlermeldung:
??? Reference to non-existent field 'check_channel'.
Error in ==> ...
set([handles.check_channel num2str(i)],'Enable','on');
Wenn ich den Befehl einzeln verwende, also
dann funktionierts. Ich könnte das natürlich auch einfach 10fach schreiben, aber so richtig schön wär das ja nicht.
Noch ne Idee?
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 24.03.2011, 11:05
Titel:
|
|
ach... wie hast du die Structur denn erstellst?
Am besten du erstellst die Structure nach folgendem Prinzip
Und dann kannst du das so aufrufen:
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 24.03.2011, 11:06
Titel:
|
|
Hallo
Dynamische Felder werden so verwendet:
handles.(' dann feld als string übergeben')
|
|
|
moongoblin |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 57
|
|
|
|
Anmeldedatum: 29.10.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.03.2011, 11:24
Titel:
|
|
Vielen Dank, dennys Tipp war der richtige!
Zu Peter: Bin mir nicht sicher ob ich das so umstellen könnte. Hab von handles-strukturen relativ wenig Ahnung. Aber nach meinem Verständnis würden ja dann alle checkboxes in dem GUI "check_channel" heißen, was auch problematisch wäre.
Trotzdem danke!
|
|
|
_Peter_ |
Moderator
|
|
Beiträge: 537
|
|
|
|
Anmeldedatum: 08.12.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: 7.10, 2010a
|
|
|
|
|
|
Verfasst am: 24.03.2011, 12:34
Titel:
|
|
heute ist echt nicht mein Tag... danke denny, recht hast du... ist mir irgendwie nicht eingefallen
@moongobolin: Ja sie wären alle in check_channel aber mit unterschiedlichem Index. Also kann man einzelnd drauf zugreifen.
_________________
Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
moongoblin |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 57
|
|
|
|
Anmeldedatum: 29.10.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2011, 13:22
Titel:
|
|
Verwandte Frage: Warum geht das nicht?
Danke!
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 30.03.2011, 15:18
Titel:
|
|
moongoblin hat Folgendes geschrieben: |
Verwandte Frage: Warum geht das nicht?
Danke! |
Weil ['channel_', num2str(i)] ergibt einen Wert von Datentype String. Und ein Wert kann kein Bezeichner sein.
Damit der Name als Bezeichner fundiert, braucht man den Befehl EVAL dazu. EVAL wertet dann den STRING aus.
so:
|
|
|
moongoblin |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 57
|
|
|
|
Anmeldedatum: 29.10.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.03.2011, 15:30
Titel:
|
|
|
|
|
|
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.
|
|