作业帮 > 综合 > 作业

在matlab 循环语句中使用牛顿法,但每次都只迭代一步,得到的结果都是NaN,大家帮我看看

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/02 18:02:33
在matlab 循环语句中使用牛顿法,但每次都只迭代一步,得到的结果都是NaN,大家帮我看看
V0=20;
n=-0.00063;
q_e=200;q_u=60;% flow rate (m^3/h)
A=100;%area (m^2)
Ve=q_e/A;Vu=q_u/A;% bulk velocity (m/h)
C_i=2500; %MLSS (g/m^3)
FF=C_i*(q_e+q_u)/A; %Feed flux
syms x;
f=(V0*exp(n*x)*x+Vu*x-FF);
[x,k]=Newtondd(f,400,10^-4);
Cmax=x;
S0=1/(n*V0*exp(n*0)*0+V0*exp(n*0)+Vu);
Smax=1/(n*V0*exp(n*Cmax)*Cmax+V0*exp(n*Cmax)+Vu);
H=4;
m=1000;
n=100;
T=zeros(m,n);X=zeros(m,n);C=zeros(m,n+1);
x=linspace(-2,2,n);
t=linspace(0,1,m);
s=zeros(m,n+1);
for i=1:m
X(i,:)=x;
end
for i=1:n
T(:,i)=t;
end
for j=1:m
for i=1:n
if T(j,i)==0;
C(j,i)=0;
else
if X(j,i)=Smax*X(j,i)
C(j,i)=Cmax;
else
if T(j,i)e,
k=k+1;
x_a=x_b;
x_b=x_a-subs(f,x_a)/subs(diff(f),x_a);
end
x=x_b;
有零做除数?