matlab程序设计:题目:设已有数学模型t=an^2+bn,数据(n,t)的十个观测值分别为:

matlab程序设计:题目:设已有数学模型t=an^2+bn,数据(n,t)的十个观测值分别为:t为020406080100120140160184n为011412019... matlab程序设计:题目:设已有数学模型t=an^2+bn,数据(n,t)的十个观测值分别为:t为0 20 40 60 80 100 120 140 160 184
n为0 1141 2019 2760 3413 4004 4545 5051 5525 6061 ,使用最小二乘法原理估计a,b的值,写出主要的数学推导公式,程序和最后的结果。 奥有源代码,方法,不凑,结果,设计方案谢谢了。
展开
 我来答
wacs5
2009-05-18 · TA获得超过1.6万个赞
知道大有可为答主
回答量:3724
采纳率:82%
帮助的人:2927万
展开全部

解题过程参看下面的图。图中的点是原始数据点,线是拟合后的曲线。

下面给出代码:

%以下是Matlab代码:

t=[0  20   40   60   80   100  120  140  160  184];

n=[0  1141 2019 2760 3413 4004 4545 5051 5525 6061];

A=[sum(n.^4),sum(n.^3);sum(n.^3),sum(n.^2)];

B=[sum(t.*n.^2);sum(t.*n)];

x=A\B;

a=x(1)

b=x(2)

t_fit=a*n.^2+b*n;

plot(n,t,'r*',n,t_fit);

xlabel('n');   ylabel('t');

legend('source data','fitting data')

最后得到结果:

a =  2.6113e-006

b =    0.0145

当然你也可以参照一楼的matlab程序,他是直接调用系统的多项式拟合函数。

另外,还可以这样:

AA=[n.^2;n]';

BB=t';

xx=AA\BB;

aa=xx(1)

bb=xx(2)

结果也是一样的。这个很简洁,但很有技巧,你看一下AA,BB的构造。

xx=AA\BB可以求解长方阵的逆。

临川望水
2009-05-18 · TA获得超过448个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:228万
展开全部
clc;clear;
x=[0 1141 2019 2760 3413 4004 4545 5051 5525 6061];
t=[0 20 40 60 80 100 120 140 160 184];
n=2;
plot(x,t)
axis ([0 6000 0 200])
hold on
p=polyfit(x,t,n);
p=double(p);
xi=linspace(0,6000,100);
yi=polyval(p,xi);
p
plot(xi,yi,'r');
hold on
plot(x,0.0000026*x.^2+0.0145*x,'.')
xlabel('x'),ylabel('t')
title('函数拟合')

运行结果为
p =

0.00000261230593 0.01452185158817 0.01445324226522
舍去常数项

则a=0.00000261230593 b=0.01452185158817
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式