疯了,求助啊~急
要进行一个参数拟合等式为 w=k*c.^2*l
在matlab中输入如下程序:
function w=myfun(k,c,l);
w=k*c.^2*l
(k 是要拟合的参数)
c=;
l=;
w=;
k=0;
k=lsqcurvefit(@myfun,k,c,l)
回车后出现:
>> k=lsqcurvefit(@myfun,k,c,l)
??? Error using ==> optim\private\lsqncommon
User supplied function failed with the following error:
Input argument "l" is undefined.
Error in ==> lsqcurvefit at 149
= ...
有两个问题,
1.我的k的初值可以这样赋吗?
2.这个程序最后是除什么问题了??
原谅
我是一只小菜鸟~
请你指出我的错误 顺便给我个正确的程序
先谢谢了~~~ {:3_58:}
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 我给你改了一下,不知道是不是符合你的要求!
function w=myfun(k,c);
l=;
w=k*c.^2.*l
>>c=;
>> w=;
>> k=0;
>> k=lsqcurvefit(@myfun,k,c,w)
运行结果:
Optimization terminated: norm of the current step is less
than OPTIONS.TolX.
k =
0.0322
建议你好好读一读lsqcurvefit的帮助,里面有例子! 回复 3# madio
sfunction w=myfun(k,c);
请问下,为什么这一步括号里面只有k 和 c?? 我把l放在函数里面了,因为lsqcurvefit函数的参数只让输入两个,所以我就放了两个! :handshake
谢谢~。。。。。。。。。。。。。。
页:
[1]