Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Combining Pushbutton and Program to Read CSV

Asked by Dimas Agil Roeseno Kambuna on 7 Mar 2013

Hi, I'm a beginner in Matlab

I have made a program in Matlab on the Command Window to import a .csv file. The coding is (step 1):

y=csvimport('apnea.csv); %apnea is the name of file that I want to open

Well, it has worked and produced a variable (step 2) in the Workspace (with name: y, and value <1002x2cell> )

My question is how to connect the program in the Command Window to the Editor GUI:

% --- Executes on button press in Button_Open.
function Button_Open_Callback(hObject, eventdata, handles)
% hObject    handle to Button_Open (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

...???

so that when the push button is pressed, it will make the process of generating step 1 (import csv) and produced a variabel in step 2?? Have not found the way

Thanks

0 Comments

Dimas Agil Roeseno Kambuna

Products

No products are associated with this question.

3 Answers

Answer by TAB on 7 Mar 2013
Edited by TAB on 7 Mar 2013
Accepted answer

When you create any variable in function, its scope is limited to the function workspace. In matlab, each function has its own workspace.

In your case, you have imported csv in function Button_Open_Callback. So variable will be created in its workspace. So you can see this in base workspace.

You can export the variable from function to base workspace using

y=evalin('base','y');

See Base and Function Workspaces

Note: eval & evalin are should be avoid to use.

1 Comment

thanks for your answer... But, finally I prefer to use csvimport and save the result in .mat files... this answer made me understand where is my problem.. Thanks :)

TAB
Answer by Jing on 7 Mar 2013

Hi Dimas,

Actually you can import csv in the callback. But if you have good reason to do that in base workspace (what you mean by command window), you can also access to the base by EVALIN.

evalin('base','y=0:10');
y=evalin('base','y');

Hope this is what you need!

1 Comment

thanks for your answer... But, finally I prefer to use csvimport and save the result in .mat files... Thank you guys, I learn something new.. :)

Jing

Contact us