flying_23 发表于 2009-10-29 16:31:26

程序运行出现以下错误,帮忙解决一下

本帖最后由 flying_23 于 2009-10-29 16:37 编辑

目标:通过模拟值与实验值 yexp的比较,优化参数k(1) k(2) k(3),写程序如下:
function yy=UAP1(t, x, k)
mH=5.17;
KS=20;
KO=0.2;
Saut=6;
KSMP=30;
KLa=150;
bH=0.278;
YH=0.5115;
yy=[
-1/YH*mH*x(1)/(KS+x(1))*x(2)/(KO+x(2))*x(4);
-(1-YH)/YH*mH*x(1)/(KS+x(1))*x(2)/(KO+x(2))*x(4)+KLa*(Saut-x(2));
k(1)*mH*x(1)/(KS+x(1))*x(2)/(KO+x(2))*x(4)+(k(1)-1/k(2))*k(3)*x(2)/(KO+x(2))*x(3)/(KSMP+x(3))*x(4);
mH*theA*theA*theB*x(4)-bH*x(4);
];

function f=obj(k,x0,yexp)
tspan=;
=ode45(@UAP1,tspan,x0,[],k);
f=x(:,3)-yexp;

tspan=;
x0=;
k0=;
lb=;
ub=;
yexp=[0
    14.25513579
19.67518787
19.83439546
12.56095796
8.452940848
7.784190848
10.5865532];
=lsqnonlin(@obj,k0,lb,ub,[],x0,yexp);%出现错误,但是在不知道哪里错了
Ci=nlparci(k,residual,jacobian);

运行程序出现
??? Input argument "x" is undefined.
Error in ==> UAP1 at 10
yhat=[
各位高手,帮忙解决一下这个问题,可以吗

messenger 发表于 2009-10-29 16:34:36

[=lsqnonlin(@obj,k0,lb,ub,[],x0,yexp);,明显左边多了一个方括号
这问题也来问,真是无语.........................

messenger 发表于 2009-10-29 16:39:24

又编辑了一下?改了一个新错误?你这些错误都是小错误,你先自己检查一下。不要出现一下错误就来问一下,任何人的耐心都是有限的。
页: [1]
查看完整版本: 程序运行出现以下错误,帮忙解决一下