实验报告Word下载.docx
- 文档编号:16312320
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:13
- 大小:154.37KB
实验报告Word下载.docx
《实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《实验报告Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
用四次拉格朗日多项式求
的函数近似值
2、函数y=f(x)由下列数据给出:
k
2
3
4
5
6
7
8
试用k=3、4、5、6这四组构造三次多项式,求出y=f(x)在x=处的近似值,并用matlab中的polyfit命令验证结果
3、编写一个用newton前差值公式计算函数值的程序,要求先输出差分表,再计算x的函数值,并应用下面的问题:
20
21
22
23
24
求x=时的三次差值多项式的值。
实验二:
1、由化学实验得到某物质浓度与时间的关系如下:
时间t
浓度y
9
10
11
12
13
14
15
16
求浓度与时间的二次拟合曲线。
2、试求下表中y与t的拟合曲线
t
25
30
35
40
45
50
55
Y/(*10^(-4))
要求:
(1)用plot画出原始数据分布趋势图
(2)用最小二乘法拟合,近似表达式为y=a2x^3+a1x^2+a0x
(3)打印出y
(4)另取方程y=ax^b拟合,并比较
3、用形如a*e^x+bsin(x)+cln(x)+dcos(x)的函数在最小二乘法的意义下拟合数据表
x
y
4、
使用次数x
容积y
17
19
选用双曲线1/y=a+b/x对数据进行拟合,使用最小二乘法求出拟合函数,做出曲线图
三、实验方案(程序设计说明)
1、建立的lagrange1文件:
functionyy=lagrange1(x,y,xi)
m=length(x);
n=length(y);
ifm~=n,error('
向量x与y的长度必须一致'
);
end
s=0;
fori=1:
n
z=ones(1,length(xi));
forj=1:
ifj~=i
z=z.*(xi-x(j))/(x(i)-x(j));
end
s=s+z*y(i);
yy=s;
在命令窗口调用Lagrange函数如下
>
x=[,,,,1];
y=[,,,,];
xi=[];
yi=lagrange1(x,y,xi)
yi=
plot(x,y,'
o'
xi,yi,'
g^'
)
2、建立的lagrange1文件:
x=[,,,];
y=[,,,];
yi=
3、
functionf=Newtonforward(x,y,x0)
symst;
if(length(x)==length(y))
n=length(x);
c(1:
n)=;
else
disp('
x和y的维数不相等!
'
return;
f=y
(1);
y1=0;
xx=linspace(x
(1),x(n),(x
(2)-x
(1)));
if(xx~=x)
节点之间不是等距的!
for(i=1:
n-1)
for(j=1:
n-i)
y1(j)=y(j+1)-y(j);
c(i)=y1
(1);
l=t;
for(k=1:
i-1)
l=l*(t-k);
end;
f=f+c(i)*l/factorial(i);
simplify(f);
y=y1;
if(i==n-1)
if(nargin==3)
f=subs(f,'
t'
(x0-x
(1))/(x
(2)-x
(1)));
else
f=collect(f);
f=vpa(f,6);
l=l*(t+k);
(x0-x(n))/(x
(2)-x
(1)));
x=[20,21,22,23,24];
x0=;
f=Newtonforward(x,y,x0)
1、>
xi=[12345678910111213141516];
yi=[];
plot(xi,yi,'
A=[ones(size(xi));
xi;
xi.^2]'
A=
111
124
139
1416
1525
1636
1749
1864
1981
110100
111121
112144
113169
114196
115225
116256
a=A\yi'
a=
b=[]
b=
y=poly2str(b,'
x'
y=
x^2+x+
f2=polyval(flipud(a),xi);
plot(xi,yi,'
bo'
xi,f2,'
r-'
2、
(1)画出数据分布趋势图
ti=[0510152025303540455055];
yi=[0].*(10^(-4));
plot(ti,yi,'
(2)建立数学模型y=a3x^3+a2x^2+a1x+a0
建立超定方程组系数矩阵
A=[ones(size(ti));
ti;
ti.^2;
ti.^3]'
1525125
1101001000
1152253375
1204008000
12562515625
13090027000
135122542875
140160064000
145202591125
1502500125000
1553025166375
(3)求超定方程组的最小二乘解
*
(4)求拟合曲线方程
>
b=[a
(1)a
(2)a(3)a(4)]
y=poly2str(b,'
y=
x^3+x^2-x+
f3=polyval(flipud(a),ti);
(5)用方程y=ax^b拟合
t=[ones(size(ti));
log(ti)];
aa=t'
\log(yi)'
aa=
yy=exp(*xi.^(;
plot(ti,yi,'
ti,yy,'
r--'
ti,f3,'
b--'
legend('
原始数据'
'
指数拟合曲线'
3阶拟合曲线'
title('
拟合曲线比较'
3、编写命令M文件t1如下
data=[;
;
];
x=data(:
1);
y=data(:
2);
A(:
1)=exp(x);
A(:
2)=sin(x);
3)=log(x);
4)=cos(x);
c=A\y
xx=:
:
;
g=c
(1)*exp(xx)+c
(2)*sin(xx)+c(3)*log(xx)+c(4)*cos(xx);
plot(x,y,'
xx,g,'
c=
g=*exp(xx)+*sin(xx)+*log(xx)+*cos(xx);
xi=[2356791011121416171920];
xj=1./xi;
yj=1./yi;
A=[ones(size(xj));
xj]'
a=A\yj'
b=[a
(2)a
(1)]
x+
f2=polyval(flipud(a),xj);
plot(xj,yj,'
xj,f2,'
四、程序运行结果
第一题图第二题图
第三题运行结果:
f=
第一题图第二题图
2、
第三题图第四题图
五、实验总结:
通过matlab的运用,我基本熟悉了插值多项式构造,并通过多次调试和实验解决了实验问题;
掌握了运用matlab数据插值的思想方法;
明白了小二乘法的基本原理。
学生签名:
徐国华
2011年11月17日
六.教师评语及成绩
教师签名:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告