计算方法实验报告

2026/1/25 7:49:05

end

x_star=x1, iter=k %x1为解的近似值,iter为迭代次数 运行结果:x_star = -3.4911;iter =2

②在区间?0,1?内, clc

x1=0.5; %初值x1 k=0;

while k<=100 %k从0开始到100循环 x0=x1; %将初值x1赋给x0

f0=x0.^3-sin(x0)-12*x0+1; %计算f?x0? f1=3*x0.^2-cos(x0)-12; %计算f'?x0? x1=x0-f0/f1; %计算得到新的近似值x1

if abs(x1-x0)< 1.0e-6 %x1?x0与允许精度作比较 break; %条件x1?x0??成立,跳出循环 end

k=k+1; %条件x1?x0??不成立,k加1 end

x_star=x1, iter=k %x1为解的近似值,iter为迭代次数 运行结果:x_star =0.07696 ;iter =3

③在区间?3,4?内, clc

x1=3.5; %初值x1 k=0;

while k<=100 %k从0开始到100循环 x0=x1; %将初值x1赋给x0

f0=x0.^3-sin(x0)-12*x0+1; %计算f?x0? f1=3*x0.^2-cos(x0)-12; %计算f'?x0? x1=x0-f0/f1; %计算得到新的近似值x1

if abs(x1-x0)< 1.0e-6 %x1?x0与允许精度作比较 break; %条件x1?x0??成立,跳出循环 end

k=k+1; %条件x1?x0??不成立,k加1 end

x_star=x1, iter=k %x1为解的近似值,iter为迭代次数 运行结果:x_star =3.4101;iter =3

3、运行结果:

x???4,?3? x_star iter 14 2 x??0,1? x_star 0.7696 0.70696 x??3,4? x_star 3.4101 3.4101 iter 6 3 iter 10 3 一般迭代 牛顿法

—3.4101 —3.4911 4、结果分析:

从这题的结果可以看出,牛顿迭代法的迭代速度比一般迭代法的速度要快,牛顿法的迭代次数比较少。例如,求在??4,?3?的根时,一般迭代法迭代了14次(iter =14),而牛顿法只用了2次(iter =2)。

总而言之,一般迭代法是一种逐次逼近的方法,具有原理简单、编制程序方便等优点,但存在是否收敛和收敛速度的快慢等问题。

牛顿迭代法是一种特殊的迭代法,用于求方程的单根时具有2阶收敛。因此是一种求非线性方程解的好方法,还可以用于求重根和复根,而且可以推广到求非线性方程组的解.

二、解方程组直接法

1、已知

?4?8A???4??12对矩阵A做LU分解。

215?7210?? 836??61120?2、用追赶法解下述方程组Ax?b,并给出n=10的结果,其中

?21???7??121???5?????A??????b????????121????5???12???,??5??

1、杜利特尔分解法(直接三角分解法):

设方程组Ax?b的系数矩阵A的各阶主子式det?Ak??0?k?1,2,?,n?,则可知该方程组存在唯一的杜利特尔分解:A?LU,其中

?1?lL??21????ln11ln2?lnn?1??u11???,U??????1??u12u22?u1n??u2n??.

???unn?我们记矩阵A的第i行第j列元素为aij,则矩阵U的第一行和L的第一列可由公式(1.1)求出:

?u1j?a1j,j?1,2,?,n,??l?ai1,i?2,3,?,n. (2.1) ?i1u11?再由公式(2.2)求出U的第k行?k?2,?,n?、L的第k列?k?2,?,n?1?元素:

k?1??ukj?akj??lkpupj,j?k,k?1,?,n,p?1??k?1 (2.2) ?aik??lipupk?p?1,i?k?1,k?2,?,n.?lik??ukk?

(1)算法步骤:

由于系数矩阵A的各阶主子式det?Ak??0?k?1,2,?,n?,则可知该方程组存在唯一的杜利特尔分解:A?LU。

① 利用公式(2.1)和(2.2)求出U和L的元素uki和lik。 ② 求解单位下三角形方程组Ly?b,即按公式

y1?b1,??k?1?y?b?ly,k?2,3,?,n (2.3)

?kkkjj?j?1? 求出y1,y2,?,yn。

④ 求解上三角形方程组Ux?y,即按公式

yn?x?,n?unn??n (2.4) ?yk??ukjxj?j?k?1,k?n?1,n?2,?,1?xk??ukk? 可求得方程组的解:xn,xn?1,?,x1。

(2)程序代码:

function [L,U]=LU(A)

A

[n,n]=size(A); %定义A为n?n阶矩阵 L=zeros(n,n); %矩阵L初始化 U=zeros(n,n); %矩阵U初始化 for i=1:n


计算方法实验报告.doc 将本文的Word文档下载到电脑
搜索更多关于: 计算方法实验报告 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219