matlab最小二乘法拟合多指数曲线X=[ 0.1667 0.4167 0.7500 1.0 2.0 4.0 8.0 14.0 22.0 44.0 58.0];Y=[2.320 1.760 1.650 1.450 1.140 0.720 0.373 0.146 0.053 0.021 0.010];y=a*exp(-b*x)+c*exp(-d*x)请大侠们编详细的程序.先谢谢大家
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/20 23:56:49
![matlab最小二乘法拟合多指数曲线X=[ 0.1667 0.4167 0.7500 1.0 2.0 4.0 8.0 14.0 22.0 44.0 58.0];Y=[2.320 1.760 1.650 1.450 1.140 0.720 0.373 0.146 0.053 0.021 0.010];y=a*exp(-b*x)+c*exp(-d*x)请大侠们编详细的程序.先谢谢大家](/uploads/image/z/7102251-27-1.jpg?t=matlab%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95%E6%8B%9F%E5%90%88%E5%A4%9A%E6%8C%87%E6%95%B0%E6%9B%B2%E7%BA%BFX%3D%5B+0.1667+0.4167+0.7500+1.0++2.0++4.0++8.0+14.0+22.0+44.0+58.0%5D%3BY%3D%5B2.320+1.760++1.650+1.450+1.140+0.720++0.373+0.146+0.053+0.021+0.010%5D%3By%3Da%2Aexp%28-b%2Ax%29%2Bc%2Aexp%28-d%2Ax%29%E8%AF%B7%E5%A4%A7%E4%BE%A0%E4%BB%AC%E7%BC%96%E8%AF%A6%E7%BB%86%E7%9A%84%E7%A8%8B%E5%BA%8F.%E5%85%88%E8%B0%A2%E8%B0%A2%E5%A4%A7%E5%AE%B6)
matlab最小二乘法拟合多指数曲线X=[ 0.1667 0.4167 0.7500 1.0 2.0 4.0 8.0 14.0 22.0 44.0 58.0];Y=[2.320 1.760 1.650 1.450 1.140 0.720 0.373 0.146 0.053 0.021 0.010];y=a*exp(-b*x)+c*exp(-d*x)请大侠们编详细的程序.先谢谢大家
matlab最小二乘法拟合多指数曲线
X=[ 0.1667 0.4167 0.7500 1.0 2.0 4.0 8.0 14.0 22.0 44.0 58.0];
Y=[2.320 1.760 1.650 1.450 1.140 0.720 0.373 0.146 0.053 0.021 0.010];
y=a*exp(-b*x)+c*exp(-d*x)
请大侠们编详细的程序.先谢谢大家了!
x是时间,y是浓度,a、b、c、d是常数,就是通过拟合X、Y描述的曲线来求这四个常数.谢谢!
matlab最小二乘法拟合多指数曲线X=[ 0.1667 0.4167 0.7500 1.0 2.0 4.0 8.0 14.0 22.0 44.0 58.0];Y=[2.320 1.760 1.650 1.450 1.140 0.720 0.373 0.146 0.053 0.021 0.010];y=a*exp(-b*x)+c*exp(-d*x)请大侠们编详细的程序.先谢谢大家
先建立一个函数
function Y=efun(b,x)
Y=b(1)*exp(b(2)*x)+b(3)*exp(b(4)*x);
保存为efun.m;
再输入:
x=[0.1667 0.4167 0.7500 1.0 2.0 4.0 8.0 14.0 22.0 44.0 58.0];
y=[2.32 1.76 1.65 1.45 1.14 0.72 0.373 0.146 0.053 0.021 0.010];
x0=[1,1,1,1]; %设置初始值
b=lsqcurvefit(@efun,x0,x,y);
sprintf('参数:a=(%0.5g),b=(%0.5g),c=(%0.5g),d=(%0.5g)',b(1),b(2),b(3),b(4))