在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=zhidao_kuzub(a,x)
%其中a,b,c分别用a(1),a(2),a(3)代替
y=a(1)+a(2)./(x+a(3));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
以下是测试:在Matlab下面输入:
%先由已经的x和已知的a,b,c来产生y,然后通过x,y
%验证一下:能否得到我们刚才所选用的参数a,b,c
x=1:20;
a=1;
b=2;
c=3;
y=zhidao_kuzub([a,b,c],x);
[A,res]=lsqcurvefit('zhidao_kuzub',ones(1,3),x,y);
A
得到的结果:
A =
1.0029 1.9451 2.9007
跟a,b,c的值大致一样。
以下是你的问题:
你设好x,y后,在Matlab下输入:
[A,res]=lsqcurvefit('zhidao_kuzub',ones(1,3),x,y);
A
就可以了。