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

load matlab file to current workspace

Asked by Amani on 15 Dec 2011

Hi,

I use this code to load .m file

[filename, pathname] = uigetfile( ...
  {'*.m', 'All matlab-Files (*.m)'; ...
      '*.*','All Files (*.*)'}, ...
  'Select Matlab File');
save(fullfile(pwd, filename));

but! .. when i open it after loading, its content was changed to undefined character like this:

    ه3"av خًOتJM.aà„تAGB‰JKـ2sR‎sS‹!bHْYذô3Bظ0s ü¬ؤ”ش ¨™ô³ ègaِwٍés  ڈح^ك%5/?³83/]/,

how i can save it with orginal content (matlab code)?

4 Comments

Amani on 16 Dec 2011

hmm .. I have list box contain items their type is file.m ,
and i put "add new file" button , to add this new file to my list box (and add it to current dirctory too).
How i can save this new file and load it ? so, i can use it as .m code.

I hope you understand what i want,,
and thanx for your response .

Fangjun Jiang on 16 Dec 2011

To "add it to current directory too", use copyfile()

Amani on 19 Dec 2011

Thaaanx alot ^_^

Amani

Products

No products are associated with this question.

1 Answer

Answer by Naz on 16 Dec 2011
Accepted answer

uigetfile gets the path, not the data. Before saving you need to load your file. Thus, use function load and give it the path obtained from uigetfile. After you load the data into the variable, you can save it using save function. Also, since you have the filename and the pathname, you dont need to use fullfile. The full path can be provided as follows:[ pathname filename ] As far as I understand you are trying to create a bank of addresses and display them in the listbox, as well as save the data to file. For updating your listbox use the fillowing idea:

your code here
....
currentDATA=get(listbox.handles,string);
updatedDATA={currentDATA; pathfile filename};
set(handles.listbox,string,num2str(updatedDATA)); %updates the listbox
save([pathname filename],'updatedDATA');  saves the data to file

4 Comments

Naz on 19 Dec 2011

@ Fangjin. Fixed it

Amani on 19 Dec 2011

Thaanx for you ^_^

please i have one problem :\
I want to cut the last two characters from such string which i got it from a variable .. like "filename" in the above code .. how ?

I mean that i want to cut the .m when i get the file name
form "filename" variable to show it in the list box without .m

Walter Roberson on 20 Dec 2011

filename(1:end-2)

Naz

Contact us