load matlab file to current workspace

5 次查看(过去 30 天)
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à„ت?A?GB‰?JKـ2sR‎?sS‹!b?HْYذô3Bظ0s? ü¬ؤ”ش ¨™??ô³ èga?ِwٍ?és  ڈ?ح^?ك%5/?³83/]/?,?
how i can save it with orginal content (matlab code)?
  4 个评论
Fangjun Jiang
Fangjun Jiang 2011-12-16
To "add it to current directory too", use copyfile()

请先登录,再进行评论。

采纳的回答

Naz
Naz 2011-12-16
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 个评论
Amani
Amani 2011-12-19
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by