How to load a mat file (with its workspace) to GUI

Hi i am beginner in Matlab. i am trying to develop a GUI whereby i can extract some variables from a mat file. do some calculations in the GUI and then saved the output in the workspace again. i find difficulty in: 1. load a mat file with its workspace on gui 2. save the new variables after calculation back to the workspace again
thanks a lot.

댓글 수: 2

yasmine
yasmine 2012년 3월 13일
i want to load the mat file with its own workspace to gui worksapce, perform calculation and save the variables back to the mat file.
TAB
TAB 2012년 3월 13일
The workspace of functions which you are using in GUI are different and Base workspace (which you see in matlab window) is different.
In which workspace you want to load the mat file -and- in which workspace you want to save variable ?
What do you mean by - "load a mat file (with its workspace)" ?

댓글을 달려면 로그인하십시오.

 채택된 답변

TAB
TAB 2012년 3월 13일

0 개 추천

You can load the .mat file to your GUI function workspace using
load('YourFile.mat')
Once the vaiabled are loaded and calculation is completed, you can save a variable (say xyz) back to mat file using
save('YourFile.mat','xyz','-append')
For detailed info See
>> doc load
>> doc save

댓글 수: 11

yasmine
yasmine 2012년 3월 13일
i already tried the load file as you are saying in the GUI m-file several times but it did not work out. it only orked out when i use load file in the command window and this is not the purpose of the GUI. is there something missing i.e., should i update any handles or is it because i am using an old version of Matlab (2007).
thanks alot
Jan
Jan 2012년 3월 13일
@yasmine: It is not a problem of your program or the Matlab version. You only expect the variable to appear in the wrong place. When you load the variables inside a function, they are visible exactly there: inside this function. See TAB's comment.
yasmine
yasmine 2012년 3월 13일
so the mat-file's workspace will not appear on the GUI workspace. the reason for asking this is that when i use the openvar function after that to open a variable in the mat-file that i loaded , i got a message that the variable does not exist.
Thanks
TAB
TAB 2012년 3월 13일
@yasmine:
There is nothing like "mat-file's workspace" in matlab.
---------
In matlab there are basically 2 types of workspace
-(1)-Base Workspace: Which you see at the side of command window. Variables which declared in command window or which are declared in m-script (not function) will be saved in basse workspace.
See http://www.mathworks.in/help/techdoc/matlab_prog/f7-38085.html
-(2)-Function workspace: Each function you write in matlab creates its own workspace. Variabled declared in functions are saved in its function workspace.
See http://www.mathworks.in/help/techdoc/matlab_prog/f0-38052.html
------
Now lets come on mat files. Mat files can be loaded independently in any worksace. If you call load('YourFile.mat') from command window or from script, variables will be loaded in base workspace. But if you call this from a function, variables will be loaded in that function's workspace.
yasmine
yasmine 2012년 3월 13일
i got your point. i try to use openvar funtion to open a variable that is in the function workspace but i got an error that the variable does not exist. should i update any handles. i don't know what is wrong?
thanks a million.
TAB
TAB 2012년 3월 13일
Once the function exited after completing execution, its workspace vanishes from memory. So function workspace variable will not open in editor window.
To make it work, prevent the function to exit after calling openvar(). To do this you can use some debugging tricks like put a breakpoint or use command "keyboard" after calling openvar() in your function.
yasmine
yasmine 2012년 3월 14일
thanks a lot Tab. i have tried the keyboard option and open the base workspace. thanks a lotttttttttt.
regards
yasmine
yasmine 2012년 3월 22일
is there another way of doing it without having to type return in the command window becasue i want to do it automatically in the GUI without having an input from the user at all.
TAB
TAB 2012년 3월 22일
You can use debugging commands like dbstop & dbquite to set & clear break points to stop the function from exiting.
See http://www.mathworks.in/help/techdoc/ref/dbstop.html
yasmine
yasmine 2012년 3월 27일
is this done after the keyboard command or do i use the dbstop/dbquit instead of it?
You don't need to set breakpoints at all. Just put that load() in your GUI program - the m-file - wherever you want it. It does not need to be loaded from the command line only.
S = load(fullFileName);
a = S.a;
otherVariable = S.otherVariable;
etc.
You could put this in it's own function, or in the OpenFcn, or wherever you want.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

ali hamadi
ali hamadi 2017년 2월 16일

0 개 추천

Hi everyone ,
i am new in MATLAB , and i have done my project in it and now i need to create a GUI for my project.
using the GUI , i should be able to have the following things : in my project i have 2 different channels with their results. ( AWGN , BEC )
in each channel for example : AWGN , i have different SNR from 0.5 till 3.5.
in each value of the SNR , i have different code length values like : ( 8,16,32,64,128,256,512,1024,2048)
for each code length i have stored results .MAT file , in that file i need to extract a variable called indeces(order of numbers) , and then do some calculation ( show the first 10% , 20% , 30% ...100% of that variable indeces in a txt.file.
so the main idea is : select the channel type , select the SNR values , select the CODE LENGTH , choose the percentage , after that show the results in a .txt file so how to link all the above options together with the right results file. your help is appreciated and helpful...
Regards

댓글 수: 2

Adam
Adam 2017년 2월 16일
편집: Adam 2017년 2월 16일
Create a question for this, don't just tag it on as an answer onto a 5 year old question that has already been answered.
Dear Adam ,
Really sorry for disturbing you.
could you please help me in answering my questions, sure if you dont mind and have time for that. here is a link to my question : https://de.mathworks.com/matlabcentral/answers/325973-how-do-i-load-mat-files-into-gui-and-make-link-between-all-the-conditions-to-have-the-last-results

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Environment and Settings에 대해 자세히 알아보기

태그

질문:

2012년 3월 13일

댓글:

2017년 2월 23일

Community Treasure Hunt

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

Start Hunting!

Translated by