How to run m-file from another m-file by input string
이전 댓글 표시
I have tried this code below trying to immediately run an m-file that was just created in another m-file :
savename = input('name : ');
f=fopen(savename,'w');
%%%writes in the created m-file
fclose(f);
run(save_name);
The above code neither produce any error or runs the script. Any comments? thanks.
댓글 수: 2
Geoff Hayes
2014년 7월 16일
편집: Geoff Hayes
2014년 7월 16일
I was able to do something similar but had to change your code slightly
% use 's' to indicate that the result is a string and not an
% expression that should not be evaluated
savename = input('name : ', 's');
% open the file
f=fopen(savename,'w');
% write a line to print out a statement
fprintf(f,'fprintf(''this is a test\\n'');');
% close the file
fclose(f);
% use savename rather than save_name
run(save name);
And this worked fine with the output being
this is a test
and the input being test.m.
What are you writing to your m file? If you run this script from the Command Window, does it work or does it only fail when you try to call it from the other m file (as above)?
Arief Anbiya
2014년 7월 17일
채택된 답변
추가 답변 (1개)
David Sanchez
2014년 7월 16일
I do that some times just by doing this:
another_script = input('script name: ','s'); % and type the name of your other script
run(another_script);
with no need of either fopen or fclose
댓글 수: 1
Geoff Hayes
2014년 7월 16일
Arief's code is creating a script from within another, and so needs the fopen and fclose.
카테고리
도움말 센터 및 File Exchange에서 Variables에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!