matlab用最小二乘法求一形如Y=ct^m(c和m为待定系数)的多项式,使之与下列数据相拟合,

题目:matlab用最小二乘法求一形如Y=ct^m(c和m为待定系数)的多项式,使之与下列数据相拟合,数据如下(19,19.0)(25,32.3)(31,49.0)(38... 题目: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,'*')
展开
 我来答
兔子和小强
推荐于2017-09-05 · TA获得超过6946个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1439万
展开全部

没使用过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)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式