下面是一教材例题 我按照教材输入 却 不能运行 老是报错。哪位高手帮忙一下。谢谢了。M文件为Function [varargout]=xxfx1(x,y)%方差分析表alpha1=0.05alpha2=0.01x=x(:)y=y(:)n=length(y)SST=sum((y.*y))-(sum(y)).*(sum(y))/nlxx=sum(x.*x)-sum(x).*sum(x)/nlxy=sum(x.*y)-sum(x).*sum(y)/nSSR=lxy.*lxy/lxxSSE=SST-SSRdf1=1df2=n-2df3=n-1VR=SSR/df1VE=SSE/df2Fb=VR/VEF=finv(1-[alpha1;alpha2],df1,df2)F1=min(F)F2=max(F)if Fb>F2 tst='**'else if (Fb>F1)&(Fb<=F2) tst='*'else tst=' 'endformat short gtable=cell(4,7)table{1,1}='方差来源’table{2,1}='回归’table{3,1}='剩余’table{4,1}='总和’table{1,2}='偏平方和’table{2,2}=SSRtable{3,2}=SSEtable{4,2}=SSTtable{1,3}='自由度’table{2,3}=df1table{3,3}=df2table{4,3}=df3table{1,4}='方差’table{2,4}=VRtable{3,4}=VEtable{1,5}='F比’table{2,5}=Fbtable{1,6}='Fα’table{2,6}=F1table(3,6)=F2table(1,7)='显著性’table(2,7)=tstif nargout>=1varargout{1}=tableelse disp(table)end我保存的名字为xxfx1按照教材输入的数据为x=[76.9,82.1,80.1,77.1,82.4,85.1,87.4,85.2,82.6,86.5,77.6,76.1,73.7,87.6,73.1,69.7,70.2, 68.7,64.1,86.0,104.5,90.7,89.7,67.5,66.1,68.8,69.7,72.5,73.6,73.2,71.6,80.7,68.5,64.2]y=[65.0,74.2,69.8,76.1,75.3,77.4,76.7,77.4,76.7,75.5,67.2,66.2,64.1,76.1,68.4,67.2,64.9, 65.7,60.8,77.9,95.8,80.2,80.2,63.6,61.9,64.7,62.9,66.4,63.1,67.4,68.9,70.3,64.6,59.6]输入 xxfx1(x,y)报错的信息如下??? Error: File: C:/MATLAB6p5/work/syz/xxfx1.m Line: 32 Column: 12Expected a variable, function, or constant, found "incomplete string".哪位高手帮忙一下。谢谢了。
1.关键词function首字母不要大写2.table被定义为cell矩阵,其中每一个元素都是一个矩阵,不可以用table()的方式引用,最后几行要改成table{} 3.程序中的所有引号都要用英文引号 我把这三个问题都改了。但else if后面缺失关键词"end" 这个问题不知道怎么改。前面三个问题都改了之后,运行出现这样的错误??? Error: File: C:/MATLAB6p5/work/syz/xxfx1.m Line: 60 Column: 1"end" expected, "End of Input" found.哪位帮忙给看一下。谢谢了。(如果可以请高手留一下qq可以吗,多交流一下)
|