这个函数怎么不能调用
Function res=DLLtest(i) %‘res’为函数返回值;‘i’为输入fid=fopen('F:\核心\yy.txt','r'); %读入数据
tmp=fscanf(fid,'%f',);
fclose(fid);
for k=1:size(tmp,2)/2 %size的作用是取矩阵tmp的列数,
%取行数的语句为:size(tmp,1)
a(k,1:2)=tmp(k*2-1:k*2)'; %利用FOR循环语句将tmp数据转化成一个k*2的矩阵A
end
cdate=a(:,1); %提出A的第一列,再将其赋给cdate
pp=a(:,2); %提出A的第二列,再将其赋给pp
sdate=(cdate-mean(cdate))/std(cdate); %对读入的数据进行初始化处理
if i==0
res= a; %设置返回值为原始数据
bar(cdate,pp) %对原始数据绘制条形图
xlabel('年度');
ylabel('利润统计')
else
logp2=polyfit(sdate,log10(pp),2);%对原始数据进行二次指数函数拟合
logpred2=10.^polyval(logp2,sdate);
logres2=log10(pp)-polyval(logp2,sdate);
r=pp-10.^(polyval(logp2,sdate));
subplot(1,2,1) %创建子图一,绘制二次指数函数的拟合效果图
semilogy(cdate,logpred2,'-',cdate,pp,'+');
grid on
xlabel('拟合结果')
subplot(1,2,2) %创建子图二,绘制二次指数函数的拟合残差图
plot(cdate,r,'+')
xlabel('拟合误差')
res=std(r); %设置返回值为二次指数函数的拟合残差
end Attempt to execute SCRIPT function as a function.
脚本文件怎么样做为函数调用????????
谢谢!!!!!!!! 原帖由 sagittast83 于 2007-12-11 12:33 发表 http://www.chinavib.com/forum/images/common/back.gif
Function res=DLLtest(i) %‘res’为函数返回值;‘i’为输入
fid=fopen('F:\核心\yy.txt','r'); %读入数据
tmp=fscanf(fid,'%f',);
fclose(fid);
for k=1:size(tmp,2)/2 ...
文件读进去了没,貌似不能有中文名 把语句编入matlab中可以运行
就是把3段语句分开输入可以显示结果. 一起编成函数 m文件调用就提示
Attempt to execute SCRIPT function as a function.
不懂为什么? 把中文改了试试呢
不要用函数名做文件名
[ 本帖最后由 sigma665 于 2007-12-11 12:53 编辑 ] 不行啊 还是提示
Attempt to execute SCRIPT function as a function. http://forum.vibunion.com/forum/vi ... p%3Bfilter%3Ddigest
这里面或许有你要的答案
2. 强烈建议大家在命名自己的函数名(更加准确应该说m文件名)时,在名称前面加上 my 等个人专用标识,即假如你要把你的函数命名为conv,则最好写成 myConv,否则容易与matlab自带的函数(m文件)名字重复而导致“Attempt to execute SCRIPT conv as a function”的错误!当你碰到这个错误时,可以在命令窗口中输入 which conv all 来看看到底有否重复命名了该函数,有的话,建议把自己命名的文件改名,保留 matlab 自带的文件。此外,命名文件名时,必须符合标识符的规范,即不能以数字开头等等,否则会出现莫名其妙的错误!
[ 本帖最后由 sigma665 于 2007-12-11 12:58 编辑 ] 对不起,本帖要求阅读权限高于 10 才可浏览,请返回。
:'( :'( which 后提示也只有我编写的m文件啊
回复 #1 sagittast83 的帖子
在命令行输入:DLLtest(5)试试看 按照 花版主 的指示如果还不行,则请保证m文件所在路径不要使用中文 不行啊 依旧提示Attempt to execute SCRIPT function as a function. :@( 语句应该没什么问题啊
在命令行中分开调就可以
编成m文件函数就bug了 原帖由 sagittast83 于 2007-12-11 13:32 发表 http://www.chinavib.com/forum/images/common/back.gif
不行啊 依旧提示
Attempt to execute SCRIPT function as a function.
matlab 区分大小写,请把 Function 改为 function
页:
[1]
2