数值分析实验题和程序报告Word文档下载推荐.docx

上传人:b****1 文档编号:13886928 上传时间:2022-10-14 格式:DOCX 页数:14 大小:133.23KB
下载 相关 举报
数值分析实验题和程序报告Word文档下载推荐.docx_第1页
第1页 / 共14页
数值分析实验题和程序报告Word文档下载推荐.docx_第2页
第2页 / 共14页
数值分析实验题和程序报告Word文档下载推荐.docx_第3页
第3页 / 共14页
数值分析实验题和程序报告Word文档下载推荐.docx_第4页
第4页 / 共14页
数值分析实验题和程序报告Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数值分析实验题和程序报告Word文档下载推荐.docx

《数值分析实验题和程序报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数值分析实验题和程序报告Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

数值分析实验题和程序报告Word文档下载推荐.docx

functioncharpt2_1

%数值实验2.1:

多项式插值的震荡现象

%输入:

函数式选择,插值节点数

%输出:

拟合函数及原函数的图形

promps={'

选择实验函数,若选f(x),输入f,若选h(x),输入h,若选g(x),输

入g:

'

};

result=inputdlg(promps,'

charpt2_1'

1,{'

f'

});

Nb_f=char(result);

if(Nb_f~='

&

Nb_f~='

h'

g'

errordlg('

实验函数选择错误!

'

);

return;

end

result=inputdlg({'

请输入第一幅图插值节点数N>

=2:

},'

2'

Nd0=str2num(char(result));

if(Nd0<

2)

节点数输入错误!

请输入两幅图间插值节点数差值D:

},'

1'

D=str2num(char(result));

switchNb_f

case'

f=inline('

1./(1+25*x.A2)'

);

a=-1;

b=1;

x./(1+x.A4)'

a=-5;

b=5;

atan(x)'

fori=1:

6

Nd=Nd0+(i-1).*D;

x0=linspace(a,b,Nd+1);

y0=feval(f,x0);

x=a:

0.01:

b;

y=Lagrange(x0,y0,x);

subplot(2,3,i);

plot(x0,y0,'

*'

holdon;

fplot(f,[a,b],'

k'

plot(x,y,'

b--'

s1='

x(节点数N='

;

s2=num2str(Nd);

s3='

)'

s=[s1s2s3];

xlabel(s);

ylabel('

y=f(x)-andy=Ln(x)--'

end

%Lagrange插值函数

functiony=Lagrange(x0,y0,x)n=length(x0);

m=length(x);

mz=x(i);

s=0.0;

fork=1:

p=1.0;

forj=1:

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

endends=s+p*y0(k);

endy(i)=s;

2、实验结果

%g02

K(节N=2>

丄iu/=xPJn-主匕监

丄iua匕pjiE肯匕=<

-0.S0

x(节点如®

』.50

M[书点数HE

pun

丄卓-5Lpu牌mnl

电!

徨(节点5+N=T)

图1-1函数f(x)对应的Lagrange插值函数图形(节点数2〜7)

pus:

■1-0.500.S

mf节点ftM=a>

丄iIrlEpUE->

亘;

|ei

4S

.21.S.64.2

T.ao.Qa

•1-fl.6D06

胃M=9)

-04

丄MJnrlHXpuir・CIIIL

■051一

-1-0.5QD■丐

Xf节点數

丄壬Inlp羸・ETS

iK>

lrlLpuq■7T

!

/b

i/V

-0.50M

xf节点败讯酣

4

2.4丿-(I.

jpuH-〔«

}■=』

Ji{节点S*N=2>

丄xxnLpum-s'

x(节点Hhi=3>

04Q.-aQ丄X耳L乍

ipUE-R-H*n

05

覚「节点gSN=5>

丄昌UJLIB•iiH

D5

wC节点数M=6>

X•:

•节.^M=4;

mjRttN=7)

图1-3函数h(x)对应的Lagrange插值函数图形(节点数2〜7)

.<

511・SE-M5L■s」k

kf节ASSN=2>

51505d5I

1E5LP匚n宣I>

D&

*f节jft.^N=3>

古互虽pue■S-L

X(帯点■数N=5>

丄305LpugAiTA

xK节磁N"

图1-5函数g(x)对应的Lagrange插值函数图形(节点数2〜7)

xN=W>

=・j5aipu恒•iITE

fl

4-1

•丄昶百“土punj’il-^TiJi

xC书点HN=i2)

丄吕5L?

b•(工|耳

•am'

5」?

:

s兀

o

xf节点KSN=fl)

■-ujlJqLpUE-iMJ

-*弓」n?

_r』

x{节N=11>

3、结果分析

根据实验结果可以看出,无论是哪个函数在某个低次以下时,插值函数值与实际函数值差别很大。

随着次数上升,插值函数值越接近实际函数值,但是这只是在一定的区间上。

如果不在此区间上,随着次数上升,会出现插值结果突然偏离原函数的现象,次数越高,偏离现象越严重。

实验3.1三次多项式最小二乘拟合

-n

编制以函数:

xk?

为基的多项式最小二乘拟合程序,并用于对表k兰

3.11中的数据作三次多项式最小二乘拟合。

表3.11

Xi

-1.0

-0.5

0.0

0.5

1.0

1.5

2.0

yi

-4.447

-0.452

0.551

0.048

-0.447

0.549

4.552

取权数.=1,求拟合曲线:

-;

xk中的参数〕j、平方误差

k=0

-■2,并作离散数据认,的拟合函数y二*(x)的图形。

functioncharpt3_1

%数值实验3.1:

三次多项式最小二乘拟合

%输岀:

原函数及求得的插值多项式函数图形以及参数alph和误差r

x0=-1:

0.5:

2;

y0=[-4.447-0.4520.5510.048-0.4470.5494.552];

n=3;

%n为拟合阶次

alph=polyfit(x0,y0,n);

%参数'

■-<

k/

y=polyval(alph,x0);

%平方误差

r=(y0-y)*(y0-y)'

x=-1:

y=polyval(alph,x);

k--'

xlabel('

x'

ylabel('

yO*andpolyval.y--'

plot(xO,yO,'

title(离散数据的3次多项式最小二乘拟合'

gridon;

disp(['

参数alph:

num2str(alph)]);

平方误差:

num2str(r)]);

当取权数,=1时,所求离散数据认,yi[的3次多项式最小二乘拟合函数y=^(x)的图形如图2-1所示。

图2-1离散数据的3次多项式最小二乘拟合

3

拟合曲线0=送ot;

xk中的参数的值依次为:

k-Q

1.9991-2.9977-3.9683e-0050.54912

平方误差j.2为:

2.1762e-005。

最小二乘曲线拟合是在离散情形下的最佳平方逼近,拟合的曲线很光滑,而且所有的7个数值点均在曲线上,拟合效果很好,拟合的平方误差很小,为10-5量级。

实验5.1常微分方程性态和R-K法稳定性实验

实验目的:

考察下面微分方程右端项中函数y前面的参数对方程性态

的影响(它可使方程为好条件的或坏条件的)和研究计算步长对R-K法计

算稳定性的影响。

实验题目:

常微分方程初值问题

厂'

』y=cty—o(x+1,0CXC1,

』(0)=1,

其中,-50_50。

其精确解为y(x)=e〉Xx。

本实验题都用4阶经典R-K法计算。

(1)对参数:

-,分别取4个不同的数值:

一个大的正值,一个小的

正值,一个绝对值小的负值和一个绝对值大的负值。

取步长h=0.01,分别

用经典的R-K法计算,将四组计算结果画在同一张图上,进行比较并说明

相应初值问题的性态。

(2)取参数:

为一个绝对值不大的负值和两个计算步长,一个步长使参数在经典R-K法的稳定域内,另一个步长在经典R-K法的稳定域外。

分别用经典R-K法计算并比较计算结果。

取全域等距的10个点上的计算值,列表说明。

functioncharpt5_1

%数值实验5.1:

常微分方程性态和R-K法稳定性实验

参数a,步长h

%输出:

精确解和数值解图形对比

promps={'

若选择实验要求1,请输入1;

若选择实验要求2,请输入2:

result=inputdlg(promps,'

charpt5_1'

1,{'

Nb=str2num(char(result));

if(Nb~=1)&

(Nb~=2)

选择错误!

if(Nb==1)

result=inputdlg({'

请输入参数a的一个大的正值:

1,{'

40'

a=str2num(char(result));

result=inputdlg({'

请输入参数a的一个小的正值:

10'

b=str2num(char(result));

请输入参数a的一个绝对值小的负值:

1,{'

-10'

c=str2num(char(result));

请输入参数a的一个绝对值大的负值:

-40'

d=str2num(char(resu

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

当前位置:首页 > PPT模板 > 动态背景

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

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