matlab的非线性拟合MATLAB如何进行非线性拟合呢?比如说y=1/((c*x)^2+1)^0.5如何拟合出参数c呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/24 02:16:26
matlab的非线性拟合MATLAB如何进行非线性拟合呢?比如说y=1/((c*x)^2+1)^0.5如何拟合出参数c呢?
xŒ_kPƿnI&Ʊk,v ĻTƌ5-?26Иe99{] V]=IKYD&HK|D^zy։(0rIEԶl4IoTf*17jUx|lHB% (HrX3 jz |j]ĪL'y1< l@/h}*\5_{'jNu7_(֙I5'OlߑC# هo!+rzƋ\Н" $NkD6p'SlX~ Hgo 9YlNO[(ttCfVS()rjESpxrfR 15<1sf}rCρs#5X@AN͠ӂkxvKNgap"1rFȴ %#*r6~<

matlab的非线性拟合MATLAB如何进行非线性拟合呢?比如说y=1/((c*x)^2+1)^0.5如何拟合出参数c呢?
matlab的非线性拟合
MATLAB如何进行非线性拟合呢?
比如说y=1/((c*x)^2+1)^0.5
如何拟合出参数c呢?

matlab的非线性拟合MATLAB如何进行非线性拟合呢?比如说y=1/((c*x)^2+1)^0.5如何拟合出参数c呢?
f=inline('1./sqrt((c*x).^2+1)','c','x');
x=0:0.1:3
y=1./sqrt((0.5*x).^2+1);
f=inline('1./sqrt((c*x).^2+1)','c','x');
[c,res]=lsqcurvefit(f,0.1,x,y) %0.1为迭代初值
不过个人觉得,由于你的表达己经知道,
你经过一些变换就可以变成直接拟合了.
对于你这个函数,经过变形一下就有:y^(-2)-1=c^2*x^2
你如果对y^(-2)-1与x^2用最小二乘法作直接似合的话,得到的斜率的开平方就是我们所要求的c