running the user selected .m file in the pushbutton callback
4 次查看(过去 30 天)
显示 更早的评论
on push button number 1 i wrote the code to browse the . m file like this:
handles.output = hObject;
[fn pn] = uigetfile('*.m','select your file');
complete=[pn fn];
set(handles.edit11,'string',complete);
handles.fn=fn;
set(handles.edit12,'string',fn);
guidata(hObject,handles);
on push button 2 i.e running the selected file i wrote the code like this:
handles.output = hObject;
fn=handles.fn;
fn;
guidata(hObject,handles);
it does not produces any output...
if the select the file named count.m and in pushbutton 2 i simply wrtite count
then it'll execute and give me the results but when i want to generalize it like i said above, the output is not shown.. can u tell me whats is the problem in it....
0 个评论
采纳的回答
Guru
2013-7-3
编辑:Guru
2013-7-3
Umm, by what I am guessing you are trying to do in your push button 2 callback is that you want to run the file that was selected.
fn is a variable that contains a char array of the file name selected with the .m extension. Simply stating a variable in MATLAB would display this if you did not have the semicolon "fn;"
However to execute the file name in MATLAB you can use the "run" command
run(fn);
In short, the line of code that reads:
fn;
should be changed to:
run(fn);
HTH!
3 个评论
Guru
2013-7-3
Ahh yes. The solution I gave above assumes that the path location of the file is on the matlab path already. But yes, including the full path in your function call would run. You can also add the pn to the matlab path with
addpath(pn)
if that was intended.
Edit: changing original post to make use of the code markup text.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!