ich habe eine aufgabe bekommen von der Uni und muss ein user interface erstellen, bei dem man über einen button die excel dabei auswählen kann, anschließend die x,y achse und den titel benennen kann, anschließend auf plot drücken, sodas eine tabelle erscheint.
Nun meine Frage, wie kann ich die Daten aus der Excel Tabelle rauslesen und wie die Achsen bennenen?
Code:
[file, path] = uigetfile('*.xlsx','Select your Excel file','C:\');
else
t = xlsread(fullfile(path, file),selectedsheet);
app.UITable.Data = t;
% Set column names as a pull down menu
T 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: xaxisnameTextArea function xaxisnameTextAreaValueChanged(app, event)
value = app.xaxisnameTextArea.Value;
xlabel(app.xaxisnameTextArea.Value);
end
% Value changed function: yaxisnameTextArea function yaxisnameTextAreaValueChanged(app, event)
value = app.yaxisnameTextArea.Value;
ylabel(app.yaxisnameTextArea.Value);
end
% Value changed function: titlenameTextArea function titlenameTextAreaValueChanged(app, event)
value = app.titlenameTextArea.Value;
title(app.titlenameTextArea.Value);
end
I got a task from the university and I have to create a user interface, where you can select the excel with a button, then you can name the x,y axis and the title, then press plot, so that a table appears.
Now my question, how can I read the data from the Excel table and how to name the axes?
auf Anhieb sehe ich da das Problem, dass t das Ergebnis von xlsread ist, du es aber als Table weiterverwendest. Dann solltest du
readtable
statt xlsread verwenden. Aufpassen: readtable verwendet Parameter-Wert-Paare statt zusätzlicher Argumente.
Zum Beschriften:
xlabel
und
ylabel
.
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 ;)
habe ich auch schon überlegt aber dann kann man das sheet in der Excel Tabelle nicht auswählen glaube ich. Wenn ich auf Plot gedrückt habe hats auch immer die Werte rausgelsen aber halt alle und da waren viele dabei die es nicht verabreiten konnte
ausserdem hab eich jetzt ein neues Problem und zwar weiß ich nicht wie ich die X-Achse skalieren kann und wie bzw ob man nur bestimmte werte auswählen kann oder so
Mit logischer Indizierung kannst du die zu plottenden Daten auswählen und mit
xlim
/
ylim
kannst du die Skalierung anpassen.
Um Daten zwischen Callbacks zu teilen, solltest du sie in App Designer als Eigenschaften anlegen statt globale Variablen zu verwenden.
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.