matlab中M文件运行不出来,但程序复制到命令窗口可以运行,怎么回事?

[filename1,pathname1]=uigetfile('*.txt','Pick an file for read');
fid1=fopen(strcat(pathname1,filename1),'rt');
if(fid1==-1)
msgbox('Input File or Path is not correct','Warning','warn');
break;
end
a=1.23;
Data=fscanf(fid1,'%f',a);
fclose(fid1)
在命令窗口运行,能得到ans=0,写成m文件就报错,为什么呢?
初学者,大家勿笑

[filename1,pathname1]=uigetfile('*.txt','Pick an file for read');
在写函数时*.txt','Pick an file for read'只能是变量名,用来传递输入参数,在函数体中应该要有使用到,调用函数时可以用igetfile('*.txt','Pick an file for read'),而不是在编写中。

一般函数形式为:
function mean = avg(x,n)
%AVG subfunction
mean = sum(x)/n;

x,n为函数是输入变量,在函数体中都有使用到,而调用时用x用具体数值向量替代,n则为向量中数值的个数。

供参考 :)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-30
还有一种可能就是文件名是系统内置函数的话就会出错
第2个回答  2019-10-09
文件名称不要设为数字,否则运行不出来正确结果。
相似回答