计算实习MATLAB编程1Word文件下载.docx

上传人:b****1 文档编号:15295087 上传时间:2022-10-29 格式:DOCX 页数:48 大小:200.50KB
下载 相关 举报
计算实习MATLAB编程1Word文件下载.docx_第1页
第1页 / 共48页
计算实习MATLAB编程1Word文件下载.docx_第2页
第2页 / 共48页
计算实习MATLAB编程1Word文件下载.docx_第3页
第3页 / 共48页
计算实习MATLAB编程1Word文件下载.docx_第4页
第4页 / 共48页
计算实习MATLAB编程1Word文件下载.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

计算实习MATLAB编程1Word文件下载.docx

《计算实习MATLAB编程1Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算实习MATLAB编程1Word文件下载.docx(48页珍藏版)》请在冰豆网上搜索。

计算实习MATLAB编程1Word文件下载.docx

设n个节点以数组x0,y0输入,m个插值点以数组x输入,输出数组y为m个插值。

比如一个名为lagr1.m的M文件内容为:

functiony=lagr1(x0,y0,x)

n=length(x0);

m=length(x);

fori=1:

m

z=x(i);

s=0.0;

for 

k=1:

n

p=1.0;

forj=1:

if 

j~=k

p=p*(z-x0(j))/(x0(k)-x0(j));

end

s=s+p*y0(k);

end

y(i)=s;

作Lagrange插值时只需在输入x0,y0,x后运行:

y=lagr1(x0,y0,x)即可;

分段线性插值有现成的程序:

y=interp1(x0,y0,x)

三次样条插值也有现成的程序:

y=interp1(x0,y0,x,'

spline'

);

此种方法属于自然边界条件。

其他边界条件下的三次样条插值程序见MATLAB的样条工具包(SplineToolbook)。

例:

对,,用个节点(等分)作上述三种插值,用m(=21)个插值点(等分)作图,比较结果。

其语句如下:

n=11;

m=21;

x=-5:

10/(m-1):

5;

y=1./(1+x.^2);

z=0*x;

x0=-5:

10/(n-1):

y0=1./(1+x0.^2);

y1=lagr1(x0,y0,x);

y2=interp1(x0,y0,x);

y3=interp1(x0,y0,x,'

[x'

y'

y1'

y2'

y3'

]

plot(x,z,'

r'

x,y,'

k:

'

x,y1,'

y'

x,y2,'

b'

x,y3,'

o'

ans=

-5.0000 

0.0385 

0.0385

-4.5000 

0.0471 

1.5787 

0.0486 

0.0484

-4.0000 

0.0588 

0.0588

-3.5000 

0.0755 

-0.2262 

0.0794 

0.0745

-3.0000 

0.1000 

0.1000

-2.5000 

0.1379 

0.2538 

0.1500 

0.1401

-2.0000 

0.2000 

0.2000

-1.5000 

0.3077 

0.2353 

0.3500 

0.2973

-1.0000 

0.5000 

0.5000

-0.5000 

0.8000 

0.8434 

0.7500 

0.8205

1.0000 

1.0000

1.5000 

2.0000 

2.5000 

3.0000 

3.5000 

4.0000 

4.5000 

5.0000 

插值与拟合实验内容:

1. 

选择一些函数,在n个节点上,用拉格朗日、分段线性、三次样条三种插值方法,计算m个插值点的函数值,通过数值和图形输出。

a.y=sinx,

n=10;

m=100;

x=linspace(0,2*pi,100);

y=sin(x);

z=x*0;

x0=linspace(0,2*pi,6);

y0=sin(x0);

plot(x,z,x,y,'

k'

x,y1,x,y2,x,y3,'

b.

b=0:

0.1:

1;

a=b*0;

 

x=linspace(-1,1,100);

y=sqrt(1-x.*x);

x0=linspace(-1,1,6);

y0=sqrt(1-x0.*x0);

a,b,'

2. 

用在x=0,1,4,9,16产生5个节点,用不同的节点构造插值公式来计算x=5处的插值,与精确值比较并进行分析。

x0=[014 

916];

y0=sqrt(x0);

x=5;

y=sqrt(5) 

y1=lagr1(x0,y0,x)

x0

(1)=[];

y2=lagr1(x0,y0,x)

x0(4)=[];

y3=lagr1(x0,y0,x)

y4=lagr1(x0,y0,x) 

2.2361

y1=

2.0794

y2=

2.2540

y3=

2.2667

y4=

2.2000

 

第三章

1901年龙格(Runge)给出一个例子:

,定义在区间[-1,1]上,这是一个很光滑的函数,它的任意阶导数都存在,对它在[-1,1]上作等距节点插值时,插值多项式的情况见图1

从图1中看出,在靠近-1或1时余项会随着n的增大而很大,譬如,但,从图中还可看到在0附近插值效果是好的,即余项较小。

另一个现象是插值多项式随节点增多而振动更多。

这种插值多项式当节点增加时不能更好地接近被插值函数的现象称为龙格现象。

n=4;

m=8;

k=12;

x=-1:

0.01:

y=1./(1+25*x.^2);

x0=-1:

2/n:

y0=1./(1+25*x0.^2);

z0=lagr1(x0,y0,x);

x1=-1:

2/m:

y1=1./(1+25*x1.^2);

z1=lagr1(x1,y1,x);

x2=-1:

2/k:

y2=1./(1+25*x2.^2);

z2=lagr1(x2,y2,x);

plot(x,y,x,z0,x,z1,x,z2,x,z,'

legend('

f(x)'

n=4'

n=8'

n=12'

第四章

例2 

为了开拓市场,某公司对其新产品作了一系列调查,他们发现这一新产品的销量与下列事件关系密切:

其一是温度,其二是上证指数,其三是广告费……为此,他们记录了下面的数据表,假设这些事件与销售量近似成线性关系,试给出这种关系的数学表达式。

记录

温度

上证指数

广告费

推销员数

返修率

销售量

1

39

567

10000

2

0.20

75

37

679

3

0.15

68

30

346

5000

0.10

105

4

25

987

0.08

136

5

1101

0.07

152

6

10

1004

191

7

15

667

0.05

148

8

604

0.04

234

解 

对于这个例子,我们可以把销售量作为y,并用分别表示温度、上证指数、广告费、推销人员数目、返修率。

然后,利用最小二乘法就可以得到其关系表达式:

A=[39,567,10000,2,0.20;

37,679,0,3,0.15;

30,346,5000,3,0.10;

25,987,5000,3,0.08;

25,1101,0,4,0.07;

10,1004,5000,5,0.07;

15,667,0,4,0.05;

5,604,10000,6,0.04];

b=[75;

68;

105;

136;

152;

191;

148;

234];

a=A\b 

a=

0.6877

0.0437

0.0049

29.6072

-447.3589 

a1=[0.147;

0.051;

4.685;

28.28;

-351.839];

norm(A*a-b)

norm(A*a1-b) 

16.7645

7.7607e+004 

第六章 

快速傅立叶变换

1试用高级语言写出计算周期函数三角插值的子程序。

并分别对N=16,64,128计算周期三角函数的系数ak和bk,其中周期三角函数的波形图如图7所示。

x=inline('

pi-abs(t)'

t=-pi:

pi;

T=x(t);

y1=0;

x1=0:

plot(t,T,t,y1,0,x1);

图7

其MATLAB程序为:

N=input('

N=?

);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 自考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1