Verfasst am: 02.11.2021, 13:17
Titel: Madlab iseqaul edit field
Hallo,
ich versuche mit if isequal etwas in app designer zu machen. Und zwar: ich will eine Tabelle Plotten aber wenn in einem Edit field nichts steht soll eine msgbox kommen und sagen dass ich da was reinschreibe und ansonsten geht der plot nicht.
Code:
global t b titlename xaxis yaxis;
title(titlename)
xlabel(xaxis)
ylabel(yaxis)
if isequal(xaxis,0)
msgbox('sdhuf')
elseif isequal(yaxis,0)
msgbox('sdgf')
elseif isequal(titlename,0)
msgbox(' adjfasjn')
else
O=t(:,1:b)
plot(O);
end
Funktion ohne Link?
dankeschönSmile
Hello,
I am trying to do something in app designer with if isequal. Namely: I want to plot a table but if there is nothing in an edit field a msgbox should come and say that I write something in there and otherwise the plot doesn't work.
und was ist nun das Problem an deinem Ansatz? Ausprobieren kann man es mangels Daten ja leider nicht.
Vermutung: es ist nicht sinnvoll, auf Gleichheit mit 0 zu testen. Vermutlich steht in x-axis '' oder "", wenn nichts eingegeben wurde. Was in dem Fall drin stehst, kannst du im Zweifelsfall mit dem Debugger herausfinden.
Globale Variablen sind bei App Designer wie eben im anderen Beitrag geschrieben nicht nötig.
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 ;)
danke für die Antwort aber ich kann daraus nichts schließen.
ich will dass eine msgbox kommt sobald in einer textbox nixhts steht, dass man diese erst noch ausfüllen muss. und solan gnicht alle ausgefüllt sind, funktioniert der plot nicht.
kannst mir da sagen wie ich das umschrieben muss oder mit was das geht?
Es ist durchaus möglich, dass dein Problem ein anderes ist. Dann müsstest du mir aber sagen, was das Problem bei dem Code ist.
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 ;)
global t
t = xlsread(fullfile(path, file),selectedsheet);
app.UITable.Data = t;
% Set column names as a pull down menu
%app.xDropDown.Items = t.Properties.VariableNames;
%app.yDropDown.Items = t.Properties.VariableNames;
%plot(app.UIAxes, app.UITable.Data.(app.xDropDown.Value), app.UITable.Data.(app.yDropDown.Value));
end
% Value changed function: titlenameTextArea function titlenameTextAreaValueChanged(app, event) global titlename
titlename = app.titlenameTextArea.Value;
nun muss ich noch eine Legende hinzufügen. wie das geht weiß ich aber ich weiß nicht wie man dann einzelnt die Linien beschriften kann... steht immer nur line 1 und so weiter. da ne idee?
du musst mit dem Wert vergleichen für den Fall, das nichts drin steht. Wie gesagt:
Zitat:
Was in dem Fall drin stehst, kannst du im Zweifelsfall mit dem Debugger herausfinden.
Generell ist der Debugger sehr hilfreich, um zu sehen, welche Code-Zeilen ausgeführt werden und warum.
Zur Frage bzgl. Legenden siehe das Beispiel "Included Subset of Graphics Objects in Legend" in der Doku von legend.
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 ;)
hab aber das problem, dass sich mein user interface an den letzten plot erinnert. dass heißt wenn ich das programm neu starte, dann funktionert es mit der Fehlermeldung. sobald ich es aber ein mal geplottet habe und dann nochmal runne, erinnert es sich an den letzten plot und auch wenn ich nichts eingebe und auch keine excel datei auswähle, plottet es einfach das von davor. also auch wenn ich nur eine sache weglasse übernimmt es die von dem plot davor...
das müsste ich tatsächlich mal selbst anhand einer kompletten App nachvollziehen. Ich könnte mir sowas vorstellen:
eine Variable newSettings einführen, die
* auf true initialisiert wird
* nach Änderung der Einstellungen auf true gesetzt wird
* vor einem Plot mit true verglichen wird
* nach einem Plot auf false gesetzt wird
Letztlich kann ich nur wieder empfehlen, im Debugger zu sehen, welchen Pfad der Code durchläuft. An der Stelle, an der nicht der gewünschte Pfad durchlaufen wird, musst du dann die Abhilfe einbauen.
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 ;)
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.