这个方程怎么用matlab来求系数方程是:y=a*x/(b+x+x*x/c),现在知道8组x和y的数

发布时间:2021-02-26 03:01:27

这个方程怎么用matlab来求系数方程是:y=a*x/(b+x+x*x/c),现在知道8组x和y的数值x=[48.65 47.1 44.9 42 36 28.5 17.4 0] y=[0.027 0.017 0.019 0.02675 0.0328 0.03883 0.05228 0.08338],怎么样求a b c的值呢?拟合的话怎么拟合呢?这是个非线性方程吧

网友回答

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y=zhidao_fit_87802039(abc,x)
%其中a,b,c分别用abc(1),abc(2),abc(3)代替
a=abc(1);
b=abc(2);
c=abc(3);
y=a*x./(b+x+x.^2/c);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
返回Matlab主界面输入:
x=[48.65 47.1 44.9 42 36 28.5 17.4 0];
y=[0.027 0.017 0.019 0.02675 0.0328 0.03883 0.05228 0.08338];
[A,r,j]=nlinfit(x,y,'zhidao_fit_87802039',ones(1,3));
A yy=zhidao_fit_87802039(A,x);
plot(x,y,'r*',x,yy)
%结果并不是很好.
======以下答案可供参考======
供参考答案1:
这么多的参数
供参考答案2:
直接用cftool命令,用这个方程作为拟合方程拟合就可以得到系数a,b,c了
以上问题属网友观点,不代表本站立场,仅供参考!