当前位置:编程学习 > Matlab >>

关于matlab的编程问题,我写了程序,但是运行一直有问题,求解~!!!

function dx=yyxh(t,x) dx=zeros(2,1); q=1000; % q是单位时间流体流入或流出的量,L/d s1=100; % s1是基质流入浓度,mg/L s2=40; % s2是基质流出浓度,mg/L y1=0.3; % y1是微生物相对基质的生成系数,mg/mg x1=60; % x1是微生物流入浓度,mg/L x2=y1*s2; % x2是微生物流出浓度,mg/L v=100; % v是厌氧反应器体积,L kd=0.1; % kd是微生物衰减动力学参数,d^-1 ks=70; % ks是基质半饱和常数,mg/L kt=0.9 % kt是抑制系数,mg/L miuba=0.8; % miuba是微生物最大比生长速率,d^-1 if ph<=2 | ph>=12 miu=miuba*(1/(1+ks/s2+s2/kt)); % miu是微生物比生长速率 else miu=miuba*(s2/(ks+s2)); dx(1)=q*x1-q*x2+miu*x2*v-kd*x2*v; dx(2)=q*s1-q*s2-v*(miu*x2/y1); 主程序是 ph=input('请输入有效PH='); [t,x]=ode45('yyxhph',[0,24],[5 3]) plot(t,x(:,1),t,x(:,2)) 但是运行的时候显示 请输入有效PH=5 ??? Error: File: C:\Documents and Settings\admin\桌面\yyxhph.m Line: 19 Column: 34 This statement is incomplete. Error in ==> funfun\private\odearguments at 80 if (nargin(ode) == 2) Error in ==> ode45 at 173 [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, ... Error in ==> runyyxhph at 2 [t,x]=ode45('yyxhph',[0,100],[5 3]) 请问哪里出了错误?急求啊,谢谢~!!!
答案:您这个ph值没有传入到函数里面啊!
其他:你这个程序不全啊,名字也和主程序的不一样,你认真一点好吗 

上一个:一个matlab中数列的编程问题
下一个:用MATLAB编程

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,