Function definition is misplaced or improperly nested
想利用嵌套函数,可运行了下出现了以下错误 Function definition is misplaced or improperly nested.,这个好像函数定义位置错误,不知道怎么解决,请高手给予指教。百忙之中耽误你们的时间,实在不好意思。。function feijunxiang
CCO=zeros(700,1);% 气相
CCO2=zeros(700,1);
CT=zeros(700,1);
cCO=zeros(700,1);% 固相
cCO2=zeros(700,1);
cT=zeros(700,1);
CCO(1)=16.10;CCO2(1)=4.60;CT(1)=523;
p0=;
pg=2.268;a=516;ps=1176;r=1;a=1000000;R=8.314;n=200;u=1.3838;dz=0.01;
for i=1:700
p=fsolve(@f,p0); % 根据CCO(i)、CCO2(i)、CT(i)的值求解cCO(i)、cCO2(i)、cT(i)的值
function F=f(p)%非线性方程
F=[(8.7848*10^(-4)*(CT(i)/298)^1.75+149*10^(-4)*(CT(i)/298)^(7/6))*516*(CCO(i)-p(1))-1539140.0731497/200*exp(-79950.0517840678/R/p(3))*p(1)*1176*1000/3600;
(7.1788*10^(-4)*(CT(i)/298)^1.75+130.59*10^(-4)*(CT(i)/298)^(7/6))*516*(CCO2(i)-p(2))-1062673869.91041/200*exp(-105800.040358714/R/p(3))*1176*1000/3600;
155.53*516*(p(3)-CT(i))-(1539140.0731497/200*exp(-79950.0517840678/R/p(3))*p(1)*1176*(188.1276+0.0724*p(3)-4.2782*10^(-5)*p(3)^2+7.9724*10^(-9)*p(3)^3)+1062673869.91041/200*exp(-105800.040358714/R/p(3))*1176*(146.4633+0.06996*p(3)-2.7313*10^(-5)*p(3)^2+1.8928*10^(-9)*p(3)^3))*1000000/3600;];
end
cCO(i)=p(1);
cCO2(i)=p(2);
cT(i)=p(3); %求得的解赋给cCO(i)、cCO2(i)、cT(i)
dCCO=(8.7848*10^(-4)*(CT(i)/298)^1.75+149*10^(-4)*(CT(i)/298)^(7/6))*516*(CCO(i)-cCO(i))/u*dz;
dCCO2=(7.1788*10^(-4)*(CT(i)/298)^1.75+130.59*10^(-4)*(CT(i)/298)^(7/6))*516*(CCO2(i)-cCO2(i))/u*dz;
dT=155.5330*516*(cT(i)-CT(i))/u/pg/(2666.653876+1.373028273*CT(i)+6.273853772606*10^(-4)*CT(i)^2-4.19418873045093*10^(-7)*CT(i)^3)*dz;
% 求CCO、CCO2、CT的变化量
CCO(i+1)=CCO(i)-dCCO;
CCO2(i+1)=CCO2(i)-dCCO2;
CT(i+1)=CT(i)+dT;%CCO(i+1)、CCO2(i+1)、CT(i+1)的值等于CCO(i)、CCO2(i)、CT(i)的值加上它们的变化量
end
CCO
CCO2
CT
cCO
cCO2
cT %输出这些值
end
本帖最后由 zhouyang664 于 2010-11-14 22:32 编辑
出错提示是哪行?
这么长的程序,看完挺神伤啊...
回复 1 # lxx244lxx 的帖子
from matlab Help :
"You cannot however define a nested function inside any of the MATLAB program control statements. This includes any block of code that is controlled by an if, else, elseif, switch, for, while, try, or catch statement." 回复 2 # zhouyang664 的帖子
出错在中间那个嵌套函数那。。。function F=f(p)%非线性方程,不知道位置是不是有错误
lxx244lxx 发表于 2010-11-15 09:34 static/image/common/back.gif
回复 2 # zhouyang664 的帖子
出错在中间那个嵌套函数那。。。function F=f(p)%非线性方程,不知道位置是不 ...
循环中不能定义嵌套函数 回复 5 # 迷路的小孩 的帖子
谢谢啊,我知道了。。。
页:
[1]