数值分析上机作业

发布 2022-09-05 09:43:28 阅读 3257

昆明理工大学工科研究生。

《数值分析》上机实验。

学院:材料学院。

专业:材料工程。

学号:2011730011

姓名: 刘宁。

任课教师:胡杰。

p277-e1

1.已知矩阵a=,b=,=

1)用matlab函数“eig”求矩阵全部特征值。

2)用基本qr算法求全部特征值(可用matlab函数“qr”实现矩阵的qr分解)。

解:matlab程序如下:

求矩阵a的特征值:

clear;

a=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10];

e=eig(a)

输出结果:求矩阵b的特征值:

clear;

b=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0];

e=eig(b)

输出结果:求矩阵的特征值:

clear;

e=eig()

输出结果:2)a=

第一步:a0=hess(a);[q0,r0]=qr(a0);a1=r0*q0

返回得到:第二部:[q1,r1]=qr(a1);a2=r1*q1

第三部:[q2,r2]=qr(a2);a3=r2*q2

现在收缩,继续对a3的子矩阵=

进行累世变换,得到(假设收缩后的矩阵为c6)

c6=这是进行了6步qr算法所得的结果。故求的a的近似特征值为30.2886,,,0.0102。而a的特征值是0.010230.2886

同理,用类似的方法可求矩阵b和的特征值,但过程过于繁琐,不再一一求解。

2、对于给定的一元函数的n+1个节点值。试用lagrange公式求其插值多项式或分段二次lagrange插值多项式。

数据如下:求五次lagrange多项式l,和分段三次插值多项式,计算的值。

1、 利用lagrange插值公式。

编写出插值多项式程序;

lagrange插值多项式。

function f=lagrange(x,y,x0)

syms t;

if(length(x)==length(y))

n=length(x);

elsedisp('x和y维数不等!')

return;

endf=0.0;

for(i=1:n)

l=y(i);

for(j=1:i-1)

l=l*(t-x(j))/x(i)-x(j));

end;for(j=i+1:n)

l=l*(t-x(j))/x(i)-x(j));

end;f=f+l;

simplify(f);

if(i==n)

if(nargin==3)

f=subs(f,'t',x0);

elsef=collect(f);

f=vpa(f,6);

endend

end1)f = 121.972*t-377.255*t^2+572.567*t^3-422.750*t^4+121.626*t^5-15.0845运算结果。

> x=[0.4,0.55,0.65,0.80,0.95,1.05]

y=[0.41075,0.57815,0.69675,0.90,1.00,1.25382]x =

y => f=lagrange(x,y)

f =121.972*t-377.255*t^2+572.567*t^3-422.750*t^4+121.626*t^5-15.0845

> f=lagrange(x,y,0.596)f =

> f=lagrange(x,y,0.99)f =

3)对此插值问题用newton插值多项式其结果如何。

1)牛顿前插值。

function f=newtonfoward(x,y,x0)

syms t;

if(length(x)==length(y))

n=length(x);

c(1:n)=0.0;

elsedisp('x和y维数不等!')

renturn;

endf=y(1);

y1=0;xx=linspace(x(1),x(n),(x(2)-x(1)))

if(xx~=x)

disp('节点之间不是等距!')

return

endfor(i=1:n-1)

for(j=1:n-i)

y1(j)=y(j+1)-y(j);

endc(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)))

elsef=collect(f);

f=vpa(f,6);

endend

end运行结果。

> x=[0.4,0.55,0.65,0.80,0.95,1.05]x =

> y=[0.41075,0.57815,0.69675,0.90,1.00,1.25382]y =

> f=newtonfoward(x,y)

f =410750+.469885*t-.557710*t^2+.326089*t^3-.772496e-1*t^4+.638600e-2*t^5

> f=newtonfoward(x,y,0.596)f =

> f=newtonfoward(x,y,0.99)f =

数值分析上机作业

一。上机作业任务一 用五点差分格式求解poisson方程边值问题,p 任选一题 二。上机作业任务二 用simpson求积法计算定积分。下面两种方法任选一。1 变步长复化simpson求积法2 自适应simpson求积法。三。上机作业任务三 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式...

数值分析上机作业

今天的上机作业。1.lagrange 插值。给出的数值表。用lagrange 插值计算的近似值。2 newton插值。用newton插值计算x 0.41的近似值。3.插值法的全部内容。把chap 2试验。doc的全部内容作一边,粘在这个文件里 包括图形 答 插值。function f lagrang...

数值分析上机作业

第二次上机作业。一。任务 用matlab语言编写连续函数最佳平方逼近的算法程序 函数式m文件 并用此程序进行数值试验,写出计算实习报告。二。程序功能要求 在后面的附一的基础上进行修改,使其更加完善。要求算法程序可以适应不同的具体函数,具有一定的通用性。所编程序具有以下功能 1.用lengendre多...