matlab用最小二乘法求一形如Y=ct^m(c和m为待定系数)的多项式,使之与下列数据相拟合,数据如下(19,19.0)(25,32.3)(31,49.0)(38,73.3)(44,97.8) 为什么运行不成功?t=[19 25 31 38 44];y=[19 32.3 49 73.8 97.8];y=y';t=t';st_=[
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/03 11:40:43
![matlab用最小二乘法求一形如Y=ct^m(c和m为待定系数)的多项式,使之与下列数据相拟合,数据如下(19,19.0)(25,32.3)(31,49.0)(38,73.3)(44,97.8) 为什么运行不成功?t=[19 25 31 38 44];y=[19 32.3 49 73.8 97.8];y=y';t=t';st_=[](/uploads/image/z/12458420-44-0.jpg?t=matlab%E7%94%A8%E6%9C%80%E5%B0%8F%E4%BA%8C%E4%B9%98%E6%B3%95%E6%B1%82%E4%B8%80%E5%BD%A2%E5%A6%82Y%3Dct%5Em%28c%E5%92%8Cm%E4%B8%BA%E5%BE%85%E5%AE%9A%E7%B3%BB%E6%95%B0%29%E7%9A%84%E5%A4%9A%E9%A1%B9%E5%BC%8F%2C%E4%BD%BF%E4%B9%8B%E4%B8%8E%E4%B8%8B%E5%88%97%E6%95%B0%E6%8D%AE%E7%9B%B8%E6%8B%9F%E5%90%88%2C%E6%95%B0%E6%8D%AE%E5%A6%82%E4%B8%8B%2819%2C19.0%29%2825%2C32.3%29%2831%2C49.0%29%2838%2C73.3%29%2844%2C97.8%29+%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%90%E8%A1%8C%E4%B8%8D%E6%88%90%E5%8A%9F%3Ft%3D%5B19+25+31+38+44%5D%3By%3D%5B19+32.3+49+73.8+97.8%5D%3By%3Dy%27%3Bt%3Dt%27%3Bst_%3D%5B)
matlab用最小二乘法求一形如Y=ct^m(c和m为待定系数)的多项式,使之与下列数据相拟合,数据如下(19,19.0)(25,32.3)(31,49.0)(38,73.3)(44,97.8) 为什么运行不成功?t=[19 25 31 38 44];y=[19 32.3 49 73.8 97.8];y=y';t=t';st_=[
matlab用最小二乘法求一形如Y=ct^m(c和m为待定系数)的多项式,使之与下列数据相拟合,数据如下(19,19.0)(25,32.3)(31,49.0)(38,73.3)(44,97.8) 为什么运行不成功?
t=[19 25 31 38 44];
y=[19 32.3 49 73.8 97.8];
y=y';
t=t';
st_=[0.5 0.5];
ft_=fittype('c*t^m','dependent',{'y'},'indepdent',{'t'},'coefficients',{'c','m'});
[cf,good]=fit(t,y,ft_,'Startpoint',st_)
h_=plot(cf,'fit',0.95);
legend off;
set(h_(1),'Color',[1 0 0],'LineStyle','-','LineWidth',2,'Marker','none','MarkerSize',6);
hold on,plot(t,y,'*')
matlab用最小二乘法求一形如Y=ct^m(c和m为待定系数)的多项式,使之与下列数据相拟合,数据如下(19,19.0)(25,32.3)(31,49.0)(38,73.3)(44,97.8) 为什么运行不成功?t=[19 25 31 38 44];y=[19 32.3 49 73.8 97.8];y=y';t=t';st_=[
没使用过fittype和fit函数.不过要拟合y=ct^m的话可以使用多项式拟合:
两边取对数得:log y = m log t + log c,变成线性拟合(即一阶多项式拟合),代码如下:
t = [19 25 31 38 44];
y = [19 32.3 49 73.8 97.8];
a = polyfit(log(t), log(y), 1);
m = a(1), c = exp(a(2))
tt = 1:100;
yy = c*tt.^m;
plot(t, y, 'o', tt, yy)