Verfasst am: 04.01.2014, 14:11
Titel: Forsetzen von Variablen [HILFE]
Guten Tag,
ich habe ein großes Problem. Dazu muss ich sagen, dass ich ein absoluter Matlab-Anfänger bin und ich mich so langsam am reinarbeiten bin, für einen Studentenjob.
Ich versuche es mal, anhand meines codes zu schildern:
Zur Erklärung: Mit A01(:,:,1,1) usw hole ich mir die bestimmten Werte, die in A gespeichert werden. Unter Alv1 und Alv2 gebe ich mir bestimmte Werte als Vektoren im Workspace gespeichert. Es funktioniert auch alles einwandfrei. Bis Alv2 komme ich mit gespeicherten Werten bis A16. Ich muss allerdings bis Alv5 ->A128<- anlegen. Und das noch einmal für andere Werte. Das wäre superviel Arbeit.
Nun zur eigentlichen Frage. Kann ich irgendwie eine Folge programmieren, die das Muster erkennt? Zum Beispiel:
du hast anscheinend einen relevanten index im variablen namen versteckt. das ist, wie du sihst relativ ungünstig. mein tip währe also gleich ein richtige struktu zu benutzen wie zb cell arrays oder structs. dann kannst du den index auch als index benutzen.
_________________
Dann könnte man den Rest mit einer FOR-Schleife erledigen.
Ich stimme Winkow voll und ganz zu: Das Durchnummerieren von Variablen-Namen ist eine schlechte Idee. Dafür eignen sich Indices von Arrays viel besser.
Jetzt habe ich folgendes (ich denke mal eher kleines) Problem.
Ein GUI öffnet zum Beispiel Werte von A1-A4 und zeigt die Graphen einwandfrei an.
Jetzt möchte ich mit dem selben GUI aber etwas öffnen, dass nur die Werte von A1-A2 enthält.
Ich bekomme die fehlermeldung,dass A3 und A4 nicht exisitieren.
Kann ich irgendwie schreiben "Öffne A1-A4, falls diese auch alle existieren, ansonsten nur A1-A2" ?!
->
Code:
%
Error in GUI_Sinuskurven>update_table (line279)
A3=A(:,:,1,3);
Error in GUI_Sinuskurven>load_pushbutton_Callback (line157)
update_table(hObject,handles);
Bei der Fehlermeldung fehlt der wichtige Teil, in dem drin steht, was der Fehler war. Bisher hast Du nur gepostet, wo der Fehler auftrat. Die entsprechenden Code-Zeile wäre ebenfalls hilfreich.
Zitat:
Kann ich irgendwie schreiben "Öffne A1-A4, falls diese auch alle existieren, ansonsten nur A1-A2" ?!
Ja, natürlich kann man das schreiben. Ich kann nichts konkretes vorschlagen, weil ich nicht verstanden habe, was "A1-A4" bedeutet.
Ja habe die numerierung jetzt komplett weggelassen und indices verwendet.
Wie kann ich denn aber erreichen dass er mir mit A(1,1,1:8,1:4) erst 1:4 zählt und danach 1:8. so würde er ja immer 1:8 zuerst hochzählen und dann springt er zwischen den vektoren immer hin und her :/
gruß,
cdt_53
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
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.