使用lsqnonlin的困惑!请高手帮忙很急用 谢谢
k0=; N=10; V=20; Q=0.5;kk=lsqnonlin('wm3',k0);
%输入yt值
y = ;
t = ;
cm = max(y); s = find(y>=max(y));
for i=1:N
c(i)=(kk(3)-1)/(Q+kk(2)*V-kk(1)*V)*exp(-(Q/V+kk(2))*t(i))+(1/(Q+kk(2)*V-kk(1)*V)+kk(3)*kk(2)*V/((Q+kk(2)*V-kk(1)*V)*(Q-kk(01)*V)))*exp(-kk(1)*t(i))-kk(3)/(Q-kk(1)*V)*exp(-Q/V*t(i))
end
b=c(s);
for i=1:N, ccc(i)=cm/b*c(i); end
kk, ccc
M = cm/(b*kk(1));
plot(t,y,'r:',t,ccc,'g-'); xlable('T(day)'); ylable('COD(g/l)');
title('图2-1模型值与实测值比较'); legend('实测值','模型值');
后面是function函数
Function =wm3(k)
N=10;V=20;Q=0.5;
%输入yt值
y = ;
t = ;
cm = max(y);s = find(y>=max(y));
for i=1:N
c(i)=(kk(3)-1)/(Q+kk(2)*V-kk(1)*V)*exp(-(Q/V+kk(2))*t(i))
end
b=c(s);
for i=1:N, cc(i)=cm/b*c(i)-y(i); end
f21 = cc(1:N);
为何在运行的时候出现:
??? Error using ==> lsqncommon at 101
LSQNONLIN cannot continue because user supplied objective function failed with the following error:
Error using ==> feval
Undefined function or method 'wm3' for input arguments of type 'double'.
Error in ==> lsqnonlin at 182
= ...
Error in ==> m2_2 at 3
kk=lsqnonlin('wm3',k0);
我是个新手 急用但又不是很懂 不知道怎么修改 希望高手指点一下 谢谢...
[ 本帖最后由 ChaChing 于 2009-4-28 13:10 编辑 ]
回复 楼主 shuangjinlover 的帖子
Function =wm3(k) 改为function =wm3(k) 试试!注意matlab的大小写意义不同, 保留字在编译器是会以蓝字呈现!
当然LZ的程式尚会有其他报错, 应该自己试试修改
还是不行
还是不行 显示:??? Error: File: m2_2.m Line: 24 Column: 1
Function definitions are not permitted at the prompt or in scripts.
哪位大哥能帮我调试出来么 哎 郁闷之极!实在不知道怎么改了
[ 本帖最后由 ChaChing 于 2009-4-28 15:54 编辑 ]
回复 板凳 shuangjinlover 的帖子
function wm3是否另外保存?知道了
求出来了 呵呵 谢谢
页:
[1]