1 / 19
文档名称:

matlab实现数值分析报告插值及积分.doc

格式:doc   大小:269KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

matlab实现数值分析报告插值及积分.doc

上传人:beny00001 2022/1/21 文件大小:269 KB

下载得到文件列表

matlab实现数值分析报告插值及积分.doc

文档介绍

文档介绍:word
word
1 / 19
word
Matlab实现数值分析插值与积分
摘要:
数值分析(numerical analysis)是研究分析用计算机求解数学计算问题的数值计算方法与其理论的学科,是数学的一个分支,y';
for j=2:n
for k=j:n
d(k,j)=(d(k,j-1)-d(k-1,j-1))/(x(k)-x(k-j+1));
end
end
c=d(n,n);
word
word
7 / 19
word
for k=(n-1):-1:1
c=conv(c,poly(x(k)));
m=length(c);
c(m)=c(m)+d(k,k);
end
输入:>> x=[0 1 2 3 4];
>> y=[1 2 17 82 257];
>> newpoly(x,y)
运行结果为
ans =
1 0 0 0 1
所以=+。
如图表2:
图表 2
三.埃特金插值法:
Aitken插值公式如下:
word
word
8 / 19
word
递推表达式为:
= +
当n=1时,
= +
当n=2时,
= +
其中的带入递推表达式求得。
由此递推下去,最终得到的结果。
matlab编程:
编程思想:埃特金插值多项式又称作Aitken逐次线性插值多项式, 根据公式的特点,可以利用2次嵌套循环将公式表示出来。
在命令窗口输入edit Aitken ,文件中的程序如下:
function f = Aitken(x,y)
syms z;
n = length(x);
y1(1:n) = z;
for i=1:n-1
for j=i+1:n
y1(j) = y(j)*(z-x(i))/(x(j)-x(i))+y(i)*(z-x(j))/(x(i)-x(j));
end
y = y1;
simplify(y1);
end
word
word
9 / 19
word
simplify(y1(n));
f = collect(y1(n));
输入:>> x=[0 1 2 3 4];
>> y=[1 2 17 82 257];
>> Aitken(x,y)
运行结果为
ans =
z^4 + 1
所以=+。
如图表3:
图表 3
问题二:复化积分
对于问题二来说,用复化的梯形公式,复化的辛卜生公式,复化的柯特斯公式结局问题〔计算积分,使精度小于5〕。
word
word
10 / 19
word
一 复化的梯形公式:
复化梯形的迭代公式为:
;
matlab编程:
程序1〔求f〔x〕的n阶导数:〕
在命令窗口输入edit qiudao ,文件中的程序如下:
function d=qiudao(x,n)
syms x;
f=1/x;
n=input('输入导数阶数: ');
d=diff(f,x,n);
输入:qiudao〔x,n〕
输入所求导数阶数:2
显示:
n = 2
ans =
2/x^3
结果为:
f2 =2/x^3
如图表4:
word
word
11 / 19
word
图表 4
程序2:
在命令窗口输入edit tixing ,文件中的程序如下:
function y=tixing()
syms x ;%定义自变量x
f=inline('1/x','x');%定义函数f(x)= 1/x
f2=inline('2/x^3','x') ; %定义f(x)的二阶导数,输入程序1里求出的f2即可。
f3='-2/x^3'; %因fminbnd〔〕函数求的是表达式的最小值,且要求表达式带引号,故取负号,以便求最大值
e=5*10^(-5); %精度要求值
a=1;%积分下限
b=2;%积分上限
x1=fminbnd(f3,1,2);%求负的二阶导数的最小值点,也就是求二阶导数的最大值点对应的x值
for n=2:1000000;%求等分数n
Rn=-(b-a)/12*((b-a)/n)^2*f2(x1);%计算