Piloting graph in app designer
24 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Bilal Larouzi
am 14 Jun. 2020
Kommentiert: Bilal Larouzi
am 16 Jun. 2020
Hello friends.
I am trying to create an app in Matlab app designer to plot data from tables.
I want the app to sum the second and third columns then plot the sum of these columns various the first column in the table.
i am facing proplem "Unrecognized method, property, or field 'Var1' for class 'matlab.ui.control.Table'" when i am trying to plot variables i hope you could help me with this problem.
0 Kommentare
Akzeptierte Antwort
Cris LaPierre
am 15 Jun. 2020
Bearbeitet: Cris LaPierre
am 15 Jun. 2020
Ok, app.BS is a uitable. app.BS.Data is the information displayed in that uitable.
What I would do, then, is create a property in the app to hold the raw data loaded from BS.txt.
properties (Access = private)
data % raw data from text file
end
I would add a new variable summing Var2 and Var3 to it (I called it app.data). Then I would plot Var1 vs this new variable.
% Button pushed function: ChooseButton
function ChooseButtonPushed(app, event)
[filename, pathname] = uigetfile({'*.txt'}, 'File Selector');
app.data = readtable (fullfile(pathname, filename), 'HeaderLines', 0);
app.BS.Data = app.data;
app.BSEditField.Value = filename;
end
% Button pushed function: DisplayButton
function DisplayButtonPushed(app, event)
app.data.sumVars = app.data.Var2+app.data.Var3;
plot(app.UIAxes, app.BS.Data.Var1,app.data.sumVars)
end
Weitere Antworten (1)
Cris LaPierre
am 15 Jun. 2020
Bearbeitet: Cris LaPierre
am 15 Jun. 2020
I suspect the variables app.BS.Var1 and app.BS.Var2 don't exist. Perhaps the variable app.BS.Data.Var1 does?
Still, there is an easier way to do this.
- Create a new table variable that is the sum of columns 2 and 3
- Plot column one vs the new column
app.BS.Data.sumVars = app.BS.Data(:,2)+app.BS.Data(:,3);
plot(app.UIAxes,app.BS.Data(:,1),app.BS.Data.sumVars)
3 Kommentare
Cris LaPierre
am 15 Jun. 2020
Bearbeitet: Cris LaPierre
am 15 Jun. 2020
Try updating it to
app.BS.Data.sumVars = app.BS.Data.(2)+app.BS.Data.(3);
plot(app.UIAxes,app.BS.Data(:,1),app.BS.Data.sumVars)
If that doesn't work, please save your variable BS to a mat file and attach it to your post.
Siehe auch
Kategorien
Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
