好文档 - 专业文书写作范文服务资料分享网站

数值分析实验报告1

天下 分享 时间: 加入收藏 我要投稿 点赞

251 410 221 157 218 187 data = *

datb = *

A = +002 *

B =

+002 * xx =

x0 =

?xx???xxx的计算结果为:

(2)

N 10 20 30 40 condestA e+002 e+002 e+002 e+002 cond2A condA2 e+002 e+002 50 60 70 80 90 100 e+002 e+004 e+003 e+002 e+003 e+003 e+003 e+002 e+003 e+002 e+002 e+002 e+002 e+002 ⑶ >> sy5_2

please input n:n=8 n = 8 x0 = x00 = datx = 给出对

?xx???xxx的估计是:

?xx???xxx的理论结果是:

结果相差: (4)

n 4 5 6 7 8 9 cond1Hi e+004 e+005 e+007 e+008 e+010 e+012 cond2Hi e+004 e+005 e+007 e+008 e+010 e+011 condinfHi e+004 e+005 e+007 e+008 e+010 e+012 10 11 e+013 e+015 e+013 e+014 e+013 e+015 讨论:

线性代数方程组的性态与条件数有着很重要的关系,既矩阵的条件数是刻画矩阵性质的一个重要的依据,条件数越大,矩阵“病态”性越严重,在解线性代数方程组的过程中较容易产生比较大的误差,则在实际问题的操作过程中,我们必须要减少对条件数来求解,把条件数较大的矩阵化成条件数较小的矩阵来进行求解。

实验总结:

在本次实验中,使我们知道了矩阵条件数对线性代数方程组求解的影响,条件数越大,对最后解的影响的越大,hilbert矩阵是一个很”病态”的矩阵,他的条件数随着阶数的增加而增大,每增加一阶,条件数就增大一个数量级,在求解的过程中要尽量避免hilbert矩阵

学号:06450210 姓名:万轩

实验七 非线性方程求根

实验(迭代法、初始值与收敛性) 实验目的:初步认识非线性问题的迭代法与线性问题迭代法的差别,探讨迭代法及初始值与迭代收敛性的关系。

问题提出:迭代法是求解非线性方程的基本思想方法,与线性方程的情况一样,其构造方法可以有多种多样,但关键是怎样才能使迭代收敛且有较快的收敛速度。

实验内容:考虑一个简单的代数方程 x2?x?1?0

针对上述方程,可以构造多种迭代法,如

2xn?1?xn?1(7.1)

xn?1?1?1xn(7.2)

xn?1?xn?1(7.3)

在实轴上取初始值x0,请分别用迭代()-()作实验,记录各算法的迭代过程。 实验要求:

(1)取定某个初始值,分别计算()-()迭代结果,它们的收敛性如何?重复选取不同的初始值,反复实验。请自选设计一种比较形象的记录方式(如利用Matlab的图形功能),分析三种迭代法的收敛性与初值选取的关系。

(2)对三个迭代法中的某个,取不同的初始值进行迭代,结果如何?试分析迭代法对不同的初值是否有差异?

(3)线性方程组迭代法的收敛性是不依赖初始值选取的。比较线性与非线性问题迭代的差异,有何结论和问题。

实验过程:

程序: clear clc

s=input('请输入要运行的方程,运行第几个输入几s='); clf

if s==1 %决定坐标轴的范围和初始值

a=;b=; y00=0; x00=input('请输入第一个函数的初值:x00='); elseif s==2

a=;b=; y00=0; x00=input('请输入第二个函数的初值:x00='); elseif s==3

a=0;b=2; y00=0; x00=input('请输入第三个函数的初值:x00='); end

x=linspace(a,b,80);

y0=x; %计算直线y=x

y1=zxy7f(x,s); %计算迭代函数y=f(x) clear y; y=[y0;y1];

if s==1 %画图

plot(x,y,'linewidth',1) legend('y=x','y=f1')

title('x(n+1)=[x(n)]^2-1') %输出标题 elseif s==2

plot(x,y,'linewidth',2) legend('y=x','y=f2')

title('x(n+1)=1+1/x(n)') elseif s==3

plot(x,y,'linewidth',3) legend('y=x','y=f3')

title('x(n+1)=sqrt[x(n)+1]') end

hold on

plot([a b],[0,0],'k-',[0 0],[a b],'k-') axis([a,b,a,b]) %画坐标轴 z=[];

for i=1:15 %画蛛网图,迭代过程为n=15次

xt(1)=x00;yt(1)=y00; %决定始点坐标 xt(2)=zxy7f(xt(1),s); %决定终点坐标 yt(2)=zxy7f(xt(1),s);

zxyplot7(xt,yt, %画蛛网图 if i<=5

pause %按任意键逐次观察前5次迭代的蛛网图 end

x00=xt(2);y00=yt(2); %将本次迭代的终点作为下次的始点 z=[z,xt(1)]; %保存迭代点 end 保存为:

function y=zxy7f(x,s) if s==1

y=(x.*x-1); elseif s==2

y=(1+1./x); elseif s==3

y=sqrt(x+1); end 保存为: function out=zxyplot7(x,y,p)%画一次迭代的蛛网图,改变p调节箭头的大小 u(1)=0;v(1)=(y(2)-y(1)); %画出始点(x(1),y(1))终点(x(2),y(2))的有

向折线段

u(2)=eps;v(2)=eps; h=quiver([x(1) x(1)], [y(1) y(2)],u,v,p); set(h,'color','red'); hold on

u(1)=(x(2)-x(1));v(1)=0; u(2)=eps;v(2)=eps; h=quiver([x(1) x(2)], [y(2) y(2)],u,v,p); set(h,'color','red');

plot([x(1) x(1) x(2)],[y(1) y(2) y(2)],'') 保存为:

数值实验结果及分析:

数值分析实验报告1

251410221157218187data=*datb=*
推荐度:
点击下载文档文档为doc格式
8pi4m6f28x6u75f0b3w102ra61x6wi01dea
领取福利

微信扫码领取福利

微信扫码分享