MATLAB Answers

Importing data into datastructure with GUI

9 views (last 30 days)
Adam on 9 Aug 2011
I have a large dataset in .txt format which i want to load from a GUI into a data structure. I have managed to make a browse window when i push a button, where i can select the file, with this code:
function browse_Callback(hObject, eventdata, handles) %generated by GUIDE
I have made this function to import the data indto a data structure:
function A = ImportData() %ImportData function
FileName = uigetfile('*.txt','Select the MATLAB code file')
A = importdata(FileName) %import data from file, into structure A
But it seems like it doesnt save the data into the data structure (cant see it in workspace), which is a problem because i want to do some calculations with the data. What am i doing wrong?
I am pretty new with GUI, and still learning! Hope someone will be able to help.

  1 Comment

Walter Roberson
Walter Roberson on 9 Aug 2011
The above code will fail if the user selects a file that is not in the current directory, as you do not record the directory name information that uigetfile() is willing to return.

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 9 Aug 2011
The variable A is in your function workspace, not the base workspace.
  1. You can put a break point in your code to debug it. When you debugging, you can go to the Command Window to observe the variable in your function workspace.
  2. You can use assignin('base','A',importdata(FileName)) to assign the variable in base workspace.
  3. Probably there is no need to create your own "ImportData" function. It's so close to the built-in importdata() function. Why not put the uigetfile() line and importdata() line in your browse_Callback() function.

  1 Comment

Adam on 9 Aug 2011
thx :)
2. was working... 3. did not!
But i am not sure what you mean by base workspace?
when i make a normal script i have no problems using functions and variables created inside the function?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by