1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Passt das so von der Überlegung her? Ist es ein Problem, dass die Variablen für das Matlab-Skript und die Variablen, die in der App eingegeben werden gen gleichen Namen haben? Es wird mir nämlich immer für eine Zeile wie bspw.:
Ist es ein Problem, dass die Variablen für das Matlab-Skript und die Variablen, die in der App eingegeben werden gen gleichen Namen haben?
Das muss bei einem Skript so sein, damit das zugeordnet werden kann. Ich empfinde das als unübersichtlich und fehleranfällig, daher die Empfehlung eine Funktion zu verwenden.
Ungeschickt ist lediglich, die Komponenten in der App so zu benennen wie die Variablen. Daher kommt die Warnung.
Zitat:
Allerdings wird keine Berechnung durchgeführt, wenn ich dann auf den Start-Button drücke.
Ist ButtonPushed denn diesem Start-Button als Callback zugeordnet? Falls nicht, musst du das im Design View noch rechts unten setzen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ja, der PushButton ist als Callback zugeordnet. Die Rechnung startet auch, keine Ahnung warum es das vorhin nicht getan hat. Allerdings kann Matlab die eine Variable, die ich in der App definiere nicht finden. Das schaue ich mir nochmal genauer an.
Das Problem tritt schon in der ersten Code-Zeile meines Skripts auf.
Eigentlich müsste Matlab den Vektor v_wind_NEFZ erstellen können, da Matlab ja v_wind aus der App übergeben bekommt und v_NEFZ_mean aus einem vorherigen .mat-File ausliest. Bzw. ich habe ich gerade gesehen, dass die vorherigen .mat-Files nicht geladen werden, obwohl es der erse Befehl innerhalb des Matlab-Skripts ist.
Edit: Habe den Fehler gefunden. Als ich die Befehle "clear" und "clc" am Anfang des Skripts gelöscht habe, lief es ohne Probleme durch.
prinzipiell ja. Welche Fehlermeldung hast du denn bekommen?
Es kann helfen, die drei Werte erst mal rauszuholen und sich im Debugging Modus Datentyp und Dimensionen anzusehen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Noch ohne Probleme funktioniert, heute kommt die Fehlermeldung, dass ich das '=' durch ein '==' ersetzen soll. Wenn ich das mache, kommt eine weitere Fehlermeldung in einer automatisch erstellten Programmzeile:
Code:
% App initialization and construction methods(Access = private)
Hier soll laut Programm das '=' ebenfalls durch ein '==' ersetzt werden. Allerdings kann ich diese Code-Zeile auch nicht ändern.
Der Unterschied zu gestern ist nur, dass ich anstatt Vektoren, die ich vorher in meinem Matlab-Skript erstellt habe jetzt im App Designer erstellen lasse. Wenn ich die neuen Vektoren allerdings auskommentiere, startet die App jedoch wieder.
erstellt. Das Ergebnis sind liegende Vektoren. Diese werden in meinem Matlab-Skript nochmal zu stehenden Vektoren transformiert. Diese Vektoren haben auch die benötigte Länge. Jedoch tritt dann der Fehler
Code:
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
Error in Kraftstoffverbrauch_GUI (line212)
t(zaehler) = find(xii==(n_NEFZ(zaehler)));
auf. Obwohl die Indizes eigentlich gleich sein müssten. Auch die Längen der erstellten Vektoren t und n_NEFZ sind gleich. Von daher weiß ich nicht wo dieser Fehler herkommt.
das ganze ist etwas schwer nachvollziehbar. Ein reproduzierbares Beispiel (App + Skript) wäre hilfreich.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
ich habe das "Problem" jetzt etws anders gelöst. Ich erstellte jetzt in meinem Matlab-Skript einen Vektor, der sich auch die Eingaben in der App bezieht. So läuft es ohne Probleme.
Ein neues Problem ist die Programmierung eines Check-Kästchens. Ich habe in meiner App mittlerweile mehrere Tabs, die unterschiedliche Funktionen beinhalten. Nun möchte ich in einem Tab ein Diagramm erstellen, das erst ausgeführt wird, wenn ein Button in einem anderen Tab gedrückt wird.
Bisher sieht mein Ansatz dazu so aus:
Code:
% Button pushed function: Start function StartButtonPushed(app, event)
% Funktionen der Fahrzyklen
Check_NEFZ_ValueChanged(app,event) plot(app.Fahrzyklus_NEFZ,t_NEFZ,v_NEFZ_kmh);
% Value changed function: Check_NEFZ function Check_NEFZValueChanged(app, event)
value = app.Check_NEFZ.Value;
if value == 1
Fahrzyklus_NEFZ_GUI
t_NEFZ = t_NEFZ;
v_NEFZ_kmh = v_NEFZ_kmh;
else
t_NEFZ = 0;
v_NEFZ_kmh = 0;
end end
als erstes Argument immer das Axes angeben, in dem du den Graphik-Befehl ausführen möchtest. Wenn du den Code in App Designer reinkopierst, bekommst du auch die entsprechenden Hinweise.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Jedoch kann ich die contour-Linien nicht mit Werten beschriften.
Gibt es eine Möglichkeit, dass der Inhalt des App-Fensters immer zentriert wird? Ich habe das Problem, dass wenn ich das Fenster vergrößere die App nicht mehr zentral im Fenster sitzt. Leider kann man nicht nachträglich im Code ändern an welcher Stelle die verschiedenen Icons sitzen sollen.
Jedoch kann ich die contour-Linien nicht mit Werten beschriften.
Gibt es eine Möglichkeit, dass der Inhalt des App-Fensters immer zentriert wird? Ich habe das Problem, dass wenn ich das Fenster vergrößere die App nicht mehr zentral im Fenster sitzt. Leider kann man nicht nachträglich im Code ändern an welcher Stelle die verschiedenen Icons sitzen sollen.
Gibt es weiterhin eine Möglichkeit durch einen Doppelklick auf das entstandene Diagramm dieses Diagramm groß in einem neuen Fenster zu öffnen?
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.