matlab中指数模型函数拟合已知点x=[0,100,200,300,400,500],y=[1,0.62,0.40,0.21,0.18,0.12],并且已知数学模型为y=exp(a*x^2+b*x),请问怎么拟合这些数据点得到拟合曲线并且得到系数a和b呢?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 10:55:10
![matlab中指数模型函数拟合已知点x=[0,100,200,300,400,500],y=[1,0.62,0.40,0.21,0.18,0.12],并且已知数学模型为y=exp(a*x^2+b*x),请问怎么拟合这些数据点得到拟合曲线并且得到系数a和b呢?](/uploads/image/z/5253784-16-4.jpg?t=matlab%E4%B8%AD%E6%8C%87%E6%95%B0%E6%A8%A1%E5%9E%8B%E5%87%BD%E6%95%B0%E6%8B%9F%E5%90%88%E5%B7%B2%E7%9F%A5%E7%82%B9x%3D%5B0%2C100%2C200%2C300%2C400%2C500%5D%2Cy%3D%5B1%2C0.62%2C0.40%2C0.21%2C0.18%2C0.12%5D%2C%E5%B9%B6%E4%B8%94%E5%B7%B2%E7%9F%A5%E6%95%B0%E5%AD%A6%E6%A8%A1%E5%9E%8B%E4%B8%BAy%3Dexp%28a%2Ax%5E2%2Bb%2Ax%29%2C%E8%AF%B7%E9%97%AE%E6%80%8E%E4%B9%88%E6%8B%9F%E5%90%88%E8%BF%99%E4%BA%9B%E6%95%B0%E6%8D%AE%E7%82%B9%E5%BE%97%E5%88%B0%E6%8B%9F%E5%90%88%E6%9B%B2%E7%BA%BF%E5%B9%B6%E4%B8%94%E5%BE%97%E5%88%B0%E7%B3%BB%E6%95%B0a%E5%92%8Cb%E5%91%A2%3F)
matlab中指数模型函数拟合已知点x=[0,100,200,300,400,500],y=[1,0.62,0.40,0.21,0.18,0.12],并且已知数学模型为y=exp(a*x^2+b*x),请问怎么拟合这些数据点得到拟合曲线并且得到系数a和b呢?
matlab中指数模型函数拟合
已知点x=[0,100,200,300,400,500],y=[1,0.62,0.40,0.21,0.18,0.12],并且已知数学模型为y=exp(a*x^2+b*x),请问怎么拟合这些数据点得到拟合曲线并且得到系数a和b呢?
matlab中指数模型函数拟合已知点x=[0,100,200,300,400,500],y=[1,0.62,0.40,0.21,0.18,0.12],并且已知数学模型为y=exp(a*x^2+b*x),请问怎么拟合这些数据点得到拟合曲线并且得到系数a和b呢?
clc
clear
close all
x=[0,100,200,300,400,500];
y=[1,0.62,0.40,0.21,0.18,0.12];
xx=x(2:end);
yy=y(2:end);
z=log(yy)./xx;
c=polyfit(xx,z,1);
a=c(1)
b=c(2)
ny=exp(a*x.^2+b*x);
plot(x,y,'r*')
hold on
ezplot(['exp(',num2str(a),'*x.^2+',num2str(b),'*x)'],[0 500 min(y) max(y)])
xlabel('x')
ylabel('y')
legend('原始数据散点图','拟合后函数曲线图')
运行结果
a =
1.374119463200583e-006
b =
-0.005030534633423