GUI load file.mat and use it

4 views (last 30 days)
MartinM
MartinM on 23 Jan 2020
Commented: Stephen23 on 24 Jan 2020
Hi,
I am creating a GUI and need to use data from m.file. It's working for the first file, but not or the second. Both are (double). Any idea?
matrice_losses.mat is load, but not MM...
Regards
  5 Comments
Jakob B. Nielsen
Jakob B. Nielsen on 24 Jan 2020
It is possible that you can load matrice_losses because you subsequently "do something" to it, either inside your function or elsewhere in the code. That means it is a nested variable within your GUI workspace (I dont know the correct terms, sorry ;)
MM, however, is just loaded and done nothing with. Try initializing MM outside the function, or calling it from another function in the GUI.
I'm just spitballing here. If one thing can load, another should be able to, and this is the only difference I can see out of what you posted.
Stephen23
Stephen23 on 24 Jan 2020
Bad code practices strike again!
You can easily avoid this error by loading into an output variable (which you should be doing anyway), e.g.:
S = load('matrice_losses.mat');
lamfit = S.matrice_losses(:,1).*1e-3;
lossdB = S.matrice_losses(:,2);

Sign in to comment.

Accepted Answer

Jose Jeremias Caballero
Jose Jeremias Caballero on 24 Jan 2020
Edited: Jose Jeremias Caballero on 24 Jan 2020
function PushB(hObject,eventdata,handles)
load matrice_losses
lamfit=(matrice_losses(:,1).*1e-3)
lossdB =matrice_losses(:,2);
u=load('MM.mat')
mm=u.mm
end

More Answers (0)

Categories

Find more on Function Creation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!