数值计算方法实验指导

上传人:d****1 文档编号:193879571 上传时间:2023-03-12 格式:DOCX 页数:51 大小:126.66KB
收藏 版权申诉 举报 下载
数值计算方法实验指导_第1页
第1页 / 共51页
数值计算方法实验指导_第2页
第2页 / 共51页
数值计算方法实验指导_第3页
第3页 / 共51页
资源描述:

《数值计算方法实验指导》由会员分享,可在线阅读,更多相关《数值计算方法实验指导(51页珍藏版)》请在装配图网上搜索。

1、数值计算方法实验指导(Mat lab 版)肇庆学院数学与统计学学院计算方法课程组数值计算方法实验1报告班级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名:XXX成绩:1. 实验名称实验1算法设计原则验证(之相近数相减、大数吃小数和简化计算步骤)2. 实验题目(1) 取z = 1016,计算-工和1/(tF + 5),验证两个相近的数相减会造成 有效数字的损失.(2) 按不同顺序求一个较大的数(123)与1000个较小的数(3x 10-15)的和,验证大 数吃小数的现象.(3) 分别用直接法和秦九韶算法计算多项式P(x) = a xn + a xn-1 + a x + a在x=

2、1.00037处的值.验证简化计算步骤能减少运算时间.n +1 , 一对于第(3)题中的多项式P(x),直接逐项计算需要n + (n -1) + + 2 +1 = 一次乘 法和n次加法,使用秦九韶算法P(x) = (a x + a )x + a )x + a )x + a012n-1n则只需要n次乘法和n次加法.3. 实验目的验证数值算法需遵循的若干规则.4. 基础理论设计数值算法时,应避免两个相近的数相减、防止大数吃小数、简化计算步骤减少运算 次数以减少运算时间并降低舍入误差的积累.两相近的数相减会损失有效数字的个数,用一 个大数依次加小数,小数会被大数吃掉,乘法运算次数太多会增加运算时间.

3、5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程(1) 直接计算并比较;(2) 法1:大数逐个加1000个小数,法2:先把1000个小数相加再与大数加;(3) 将由高次项到低次项的系数保存到数组An中,其中n为多项式次数.7. 结果与分析(1)计算的 -云=, 1/g;7+T+云).分析:123逐次加1000个3 x 10-6的和是 ,先将1000个3 x10-6相加,再用这个和与123相加得.分析:(3)计算 次的多项式:直接计算的结果是,用时;用秦九韶算法计算的结果是,用时分析:8. 附录:程序清单(1) 两个相近的数相减.%*%* 程序名:ex1_1

4、.m*%*程序功能:验证两个相近的数相减会损失有效数字个数*%*z=1e16;% x = Z + 1 Z ;% y = 1/(、: Z + 1 + Z );x,y(2)大数吃小数%*%* 程序名:ex1_2.m*%*程序功能:验证大数吃小数的现象.*%*%清屏clear all;format long;%释放所有内存变量%按双精度显示浮点数z=123;%大数t=3e-15;%小数x=z;%大数依次加小数 %重复1000次给x中加上ty=0;%先累加小数 %重复1000次给y中加上ty=z + y;%再加到大数x,y(3)秦九韶算法%*%* 程序名:ex1_3.m*%*程序功能:验证秦九韶算法可

5、节省运行时间.*%*clc;%清屏clear all;%释放所有内存变量format long;%按双精度显示浮点数A=8,4,-1,-3,6,5,3,2,1,3,2,-1,4,3,1,-2,4,6,8,9,50,-80,12,35,7,-6,42,5,6,23,74,6 5,55,80,78,77,98,56;A(10001)=0;%扩展到10001项,后面的都是分量0% A为多项式系数,从高次项到低次项x=1.00037;n=9000;% n为多项式次数%直接计算 begintime=clock;%开始执行的时间P= 0;如F-1t= 1 ;鼬 k=l:iendp = p-A(n- i-

6、1);endendtime=clock;time1二etime(endtime,begintime);disp(直接计算,);disp(p(,num2str(x),) = ,num2str(p);%求x的i次幂%累加多项式的i次项%结束执行的时间%运行时间% 秦九韶算法计算 begintime=clock;for i = 0 : np = x* p-A(i- I) endendtime=clock;%累加秦九韶算法中的一项disp(运行时间:,num2str(time1),秒);%开始执行的时间%结束执行的时间time2=etime(endtime,begintime);% 运行时间disp(

7、 ); disp(秦九韶算法计算);disp(p(,num2str(x),) = ,num2str(p);disp( 运行时间:,num2str(time2),秒);数值计算方法实验1报告班级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名:XXX成绩:1. 实验名称实验1算法设计原则验证(之数值稳定性)2. 实验题目计算定积分I 二1工*-1&,n = 0,1, 10,分别用教材例1-7推导出的算法A和B, n 0其中:算法A: TnI 0算法B: =1 一 nIn-1r 0.6321I =-(1 -1 )-1n n110 0验证算法不稳定时误差会扩大.3. 实验目的验证数值

8、算法需遵循的若干规则.4. 基础理论设计数值算法时,应采用数值稳定性好的算法.数值稳定的算法,误差不会放大,甚至 会缩小;而数值不稳定的算法会放大误差.5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程分别用数组IA和IB保存两种算法计算的结果.8.附录:程序清单 %*%* 程序名:ex1_4.m*%*程序功能:验证数值稳定性算法可控制误差.*%*clc;%清屏clear all;%释放所有内存变量format long;%按双精度显示浮点数I = 0.63212055882856,0.36787944117144,0.26424111765712,0.20

9、727664702865, . 0.17089341188538, 0.14553294057308,0.12680235656154,0.11238350406938, .0.10093196744492, 0.09161229300662,0.08387707010843;%保留14位小数的精确值,是Mat lab中的续行符 %算法AIA(1) = 0.6321;% Mat lab下标从1开始,所以要用IA(n+1)表示原问题中的I(n)forn= 1 : 10lA(n - 1) = 1 - n * lAn); end%算法B0; forn= 10 : -1 : 1IB(n)=(l -IB

10、(n-l n enddisp(n算法A算法B精确值);for n=1:11fprintf(%2d %14.6f %14.6f %14.6fn,n-1,IA(n),IB(n),I(n);end% n显示为2位整数,其它显示为14位其中小数点后显示6位的小数数值计算方法实验1报告班级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名:XXX成绩:1. 实验名称实验1算法设计原则(除数绝对值不能太小)2. 实验题目将线性方程组增广矩阵利用初等行变换可化为(a11a12a22r a- r2aii1Ta12a22r r1 a22Tf a11由此可解得尤=b /a ,x11112分别解增广矩

11、阵为f 10-16 1f 2 1 2110-16 1 1 /的方程组,验证除数绝对值远小于被除数绝对值的除法会导致结果失真.3. 实验目的验证数值算法需遵循的若干规则.4. 基础理论设计数值算法时,应避免除数绝对值远小于被除数绝对值的除法,否则绝对误差会被放 大,使结果失真.5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程用二维数组A和B存放方程组的增广矩阵,利用题目所给初等行变换求解方程组.7. 结果与分析第1种顺序的方程组的解为x=, y=;第2种顺序的方程组的解为x=, y=. 分析:8. 附录:程序清单%*%* 程序名:ex1_5.m*%*程序功能

12、:验证除数的绝对值太小可能会放大误差.*%*A=1e-16, 1, 1; 2, 1, 2;B=2, 1, 2; 1e-16, 1, 1;%方程组Am=-A(2,1);A(2? :)=A(2? :)-m + A(l;A(l; :)=A(1; :)-m + A(ZA(1;3)=A(1;3)/A(1: 1);A(2, 3)=2,3)/Aft 2);%增广矩阵% m = - a_21/a_11是第2行加第1行的倍数% 消去 a_21% m = - a_12/a_22是第1行加第2行的倍数%消去a_12,系数矩阵成对角线%未知数x1的值%未知数x2的值disp(方程组 A 的解:x1=,num2str(

13、A(1,3), x2=,num2str(A(2,3); disp();%方程组Bm =1) B(l: 1):职:)=阳:)-0B(L =1):B(2, 3) = B(2, 3) Bp% m = - b_21/b_11是第2行加第1行的倍数% 消去 b_21% m = - b_12/b_22是第1行加第2行的倍数%消去b_12,系数矩阵成对角线%未知数x1的值%未知数x2的值disp(方程组 B 的解:x1 = ,num2str(B(1,3),x2=,num2str(B(2,3);数值计算方法实验2报告班级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名:XXX成绩:1. 实验名

14、称实验2非线性方程的迭代解法(之简单迭代法)2. 实验题目用简单迭代法求方程尤3+ 4x2 -10 = 0在区间1,2内的一个实根,取绝对误差限为10 -4 .3. 实验目的掌握非线性方程的简单迭代法.4. 基础理论简单迭代法:将方程f (x) = 0改写成等价形式x =9 (x),从初值x 0开始,使用迭代公 式气+1 =9(气)可以得到一个数列,若该数列收敛,则其极限即为原方程的解.取数列中适 当的项可作为近似解.5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程7. 结果与分析8. 附录:程序清单数值计算方法实验2报告班级:20xx 级 XXXXx 班

15、学号:20xx2409xxxx姓名:XXX成绩:1. 实验名称实验2非线性方程的迭代解法(之Newton迭代法)2. 实验题目用Newton迭代法求方程沼+ 4*210 = 0在区间1,2内的一个实根,取绝对误差限为 10 -4 .3. 实验目的掌握求解非线性方程的Newton迭代法.4. 基础理论Newton迭代法:解方程/(*) = 0的Newton迭代公式为*= * - .k+1k f (* )k5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程7. 结果与分析8. 附录:程序清单数值计算方法实验2报告班级:20xx 级 XXXXx 班学号:20xx2

16、409xxxx姓名:XXX成绩:1. 实验名称实验2非线性方程的迭代解法(之对分区间法)2. 实验题目用对分区间法求方程x3-x-1 = 0在区间1, 1.5内的一个实根,取绝对误差限为10 -4.3. 实验目的掌握求解非线性方程的对分区间法.4. 基础理论对分区间法:取a, b的中点p,若f(p) x 0或b - a ,则p为方程f (x) = 0的近似解;若f(a) f(p) 0,则说明根在区间取a, p中;否则,根在区间取p, b中.将新的有根 区间记为a1, b1,对该区间不断重复上述步骤,即可得到方程的近似根.5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6

17、. 实验过程用宏定义函数f(x);为了循环方便,得到的新的有根区间始终用a, b表示;由于新的有根区间可能仍以a为左端点,这样会反复使用函数值f(a),为减少运算次 数,将这个函数值保存在一个变量fa中;同样在判断新的有根区间时用到函数值f(p),若新的有根区间以p为左端点,则下一 次用到的f(a)实际上就是现在的f(p),为减少运算次数,将这个函数值保存在一个变量fp 中算法的伪代码描述:Input:区间端点a, b;精度要求(即误差限);函数f (x);最大对分次数NOutput :近似解或失败信息行号伪代码注释1n 1 ;对分次数计数器2fa - f (a);左端点的函数值3while

18、n W N do4p - (a+b) / 2;区间中点5fp f(p);中点的函数值6if fp = 0 or (b-a)/2 0 then若中点与左端点函数值同号11a p;新区间取右半区间12fa - fp;13else否则14b p;新区间取左右半区间15endif16enddo17return错误信息输出错误信息并仑吉束程序7. 结果与分析8. 附录:程序清单说明:源程序中带有数字的空行,对应着算法描述中的行号 %* %* 程序名:Bisection.m*%*程序功能:使用二分法求解非线性方程.%*f=inline(x3-x-1);定义函数f(x)a=input(有根区间左端点:a=)

19、; b=input(右端点:b二); epsilon=input(误差限:epsilona=)N=input(最大对分次数:N=);%对分次数计数器n置1%左端点的函数值给变量fafprintf(n kpfprintf( b(k)f(p)b-an);%a(k)f(a(k);显示表头fprintf(%2d%36.6f%12.6f%12.6f%12.6fn,0,a,fa,b,b-a);%占2位其中。位小数显示步数0,共12位其中小数6位显示各值while nW N 取区间中点p求p点函数值给变量fpfprintf(%2d%12.6f%12.6f,n,p,fp);%输出迭代过程中的中点信息P和f(p

20、)6%如果f(p)=0或b-a的一半小于误差限fprintf(nn近似解为:fn,p);%则输出近似根p (7)return;%并结束程序(7)89%计数器加110% 若 f(a)与 f(p)同号口 %则取右半区间为新的求根区间,即a 取作p12 %保存新区间左端点的函数值莒 %否则14 %左半区间为新的求根区间,即b取作p 15fprintf(%12.6f%12.6f%12.6f%12.6fn,a,fa,b,b-a);%显示新区间端点及左端函数值、区间长度 16fprintf(nn经过%d次迭代后未达到精度要求.n,N); %输出错误信息(行17)数值计算方法实验2报告班级:20xx 级 X

21、XXXx 班学号:20xx2409xxxx姓名:XXX成绩:1. 实验名称实验2非线性方程的迭代解法(之Aitken-Steffensen加速法)2. 实验题目用Aitken-Steffensen加速法求方程尤3 + 4x2 -10 = 0在区间1,2内的一个实根,取绝对误差限为10-4 .3. 实验目的熟悉求解非线性方程的Aitken-Steffensen加速法.4. 基础理论将方程f (x) = 0改写成等价形式x =9 (x),得到从初值X0开始的迭代公式气+=甲(xk)后,基于迭代公式xk+1 =9 (xk)的Aitken-Steffensen加速法是通过“迭代- 再迭代-加速”完成迭

22、代的,具体过程为J =9(x ),乙=93 ), x = x (七七* .k k k kk+1k z 2 y + x5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程为了验证Aitken-Steffensen加速法可以把一些不收敛的迭代加速成迭代收敛,我们使 用将方程组变形为x = 1 10 x3,取迭代函数9 (x) = 1 10 x3,并利用宏定义出迭代 函数.由于不用保存迭代过程,所以用x0表示初值同时也存放前一步迭代的值,y和z是迭 代过程中产生的匕和zk, x存放新迭代的结果.算法的伪代码描述:Input :初值x。;精度要求(即误差限);迭代函数

23、(x);最大迭代次数NOutput :近似解或失败信息行号伪代码注释1n 1 ;迭代次数计数器2while n W N do3y (x0);迭代4z (y);再迭代5x x0 - (y-x0) 2 / (z - 2 y + x0)加速6ifx - x0 | e then如果达到精度要求7return x;则输出近似值并退出程序8endif9n - n + 1 ;计数器加一10x0 卜 x;新近似值给x做下次的初值 011enddo12return错误信息输出错误信息并仑结束程序7. 结果与分析8. 附录:程序清单%*%* 程 序名:Aitken_Steffensen.m*%*程序功能:用Ait

24、ken-Steffensen加速法求方程.*%*clc;clear all;phi = inline(0.5 * sqrt( 10 - x3);% 迭代函数x0=input(初值:x0 =);epsilon=input(误差限:epsilon=);N=input(最大迭代次数:N=);disp( n 迭代中间值y(n-1)再迭代结构z(n-1)加速后的近似值x(n);fprintf(%2d%54.6fn,0,x0);%占2位整数显示步数0,为了对齐,占54位小数6位显示x01% n是计数器2% while n=Ny=3:;% 迭代z=3:;% 再迭代x=3:;% 加速% x0初值及前一步的近似

25、值,y和z是中间变量,x是下一步的近似值fprintf(%2d%18.6f%18.6f%18.6fn,n,y, z, x);%显示中间值和迭代近似值6%如果与上一步近似解差的绝对值不超过误差限fprintf(nn 近似解 xx(%d) %fn,n,x);%则输出近似根(7),可简略为:fprintf(nn近似解x=%f,x);return;8%并结束程序 相当于 endif9%计数器加110%新近似值x作为下一次迭代的初值11fprintf(n迭代%d次还不满足误差要求.nn,N);%输出错误信息(12)数值计算方法实验2报告班级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名

26、:XXX成绩:1. 实验名称实验2非线性方程的迭代解法(之Newton下山法)2. 实验题目用Newton下山法求方程沼+ 4*210 = 0在区间1,2内的一个实根,取绝对误差限为 10 -4 .3. 实验目的熟悉非线性方程的Newton下山法.4. 基础理论Newton 下山法:Newton 下山法公式为 * = * -%,使 I /(* ) 11 /(* )1,k+1k k f(* )k+1kk其中0人k 1.5. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程定义函数f(x)和df(x),其中df(x)是f(x)的导函数.每步迭代时先取下山因子为1,尝

27、试迭代,判断尝试结果是否满足下山因子,若满足则 作为这步的迭代结果;否则将下山因子减半,然后再尝试.为防止当前的xk是极小值点, 附近不会有满足下述条件的其它点,使尝试陷入死循环,同时计算机中能表示出的浮点数也 有下界,因此我们设置了最大尝试次数.当超过最大尝试次数时,不再进行下山尝试.由于反复尝试迭代且要判断下山条件,所以f(x0)和f (x0)会反复使用,为避免重复 计算浪费运行时间,将这两个值分别保存在变量fx0和dfx0.而尝试产生的节点,判断下山条件时要用到它的函数值,若尝试成功,这个点会作为 下一步的初值再使用,所以把该点的函数值也保存在变量fx中.算法的伪代码描述:Input:初

28、值x。;精度要求(即误差限);函数及其导函数f (x)和f (x);最大 迭代次数N; K下山尝试最大次数Output :近似解或失败信息行号伪代码注释1n 1 ;迭代次数计数器2F0 f(x0);3while n W N do4F f (x );00_;5if F = 0 then 0若该点导数为06return False;贝IJ无法进行迭代,结束程序7endif8lambda - 1 ;下山因子入从1试起9k 1 ;尝试次数计数器10while k W K do11x x0 - lambda*F0 / F:Newton下山公式12Fx f(x);13if |Fx| K then如果因超过

29、尝试次数退出循环20return False;则提示错误信息并仑结束程序21endif否则时尝试成功退出上边循环22if | x - x0 | e then如果达到精度要求23return x;则输出近似值并退出程序24endif25x0 - x;新近似值给x0做下次的初值26F0 - Fx;所求函数值下次也用到27n n + 1 ;计数器加一28enddo29return错误信息输出错误信息并仑吉束程序7. 结果与分析8. 附录:程序清单%*%* 程 序名:NewtonDownhill.m*%*程序功能:用Newton下山法求解非线性方程.*%* clear all;f=inline(x3-

30、x-1);% 函数 f(x)df=inline(3*x2-1);% 函数 f(x)的导函数x0=input(初值:x0 =);epsilon=input(误差限:epsilon=);N=input(最大迭代次数:N=);K=input(最大下山尝试次数:K=);1 %迭代次数计数器2 %存x0点函数值fprintf(nn nx(n)f(x(n)n);% 显示表头fprintf(%2d%14.6f%14.6fn,0,x0,fx0);% 2 位整数显示 0,共 14 位小数 6 位显示x0 和 fx03 % while n W Ndisp();%换行显示下山尝试过程的表头disp(下山因子 尝试x

31、(n) 对应f(x(n) 满足下山条件);disp();4 %存x0点导数值,每次下山尝试不用重新计算if dfx0=0%导数为0不能迭代disp(无法进彳亍Newton迭代);return;endlambda=1.0;k=1;while k=K%下山因子从1开始尝试% k下山尝试次数计数器%下山最多尝试K次%下山公式x = xO - lambda * feO dixO:fx=f(x);%函数值fprintf(%22.6f%14.6f%14.6f,lambda,x,fx);% 显示尝试结果if (abs(fx)K fprintf(n 下山条件无法满足, return;end%判断是否满足下山条

32、件%是,则退出下山尝试的循环%不是,则下山因子减半%计数器加1迭代失败.nn);fprintf(%2d%14.6f%14.6fn,n,x,fx);% 2位整数显示步数n,共14位小数6位显示下步迭代结果22%达到精度要求否fprintf(nn 方程的近似解为:xx%fnn,x);% (23)return;%达到,则显示结果并结束程序(23)end% (24)%用x0,fx0存放前一步的近似值和它的函数值,进行循环迭代25262728fprintf(n迭代%d次还不满足误差要求.nn,N);数值计算方法实验2报告班级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名:XXX成绩:1

33、. 实验名称实验2非线性方程的迭代解法(之弦截法)2. 实验题目用弦截法求方程尤3 + 4X2 -10 = 0在区间1,2内的一个实根,取绝对误差限为10-4 .3. 实验目的熟悉非线性方程的弦截法.4. 基础理论将Newton迭代法中的导数用差商代替,得到弦截法(或叫正割法)公式X = X 一-k_-k-1 f (X ).* 人 f (- ) - f (X ) kkk -15. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程不保存迭代过程,所以始终以x0和x1分别存放xk 1和xk,而x存放新产生的迭代值xk+1, 这样,下一次迭代时需要把上一步的x1 (即

34、xk)赋值于x0 (做新的xk1).+这些点的函数值会重复用到,在迭代公式中也要用到上一步的作为下一步的x0也 会再一次用它的函数值,为减少重新计算该点函数值的运行时间,将x1点的函数值保存在 变量fx1中.算法的伪代码描述:Input:初值x。,x1;精度要求(即误差限);函数f (x);最大迭代次数NOutput :近似解或失败信息行号伪代码注释1fx0 - f(x );0初值点的函数值2fx1 f(x );13n 2;迭代次数计数器(从2开始)4while n W N do5x x - (x1-x0)*f(x1) / (f(x1 )-f(x ); 07迭代6if | x - x0jfpr

35、intf(elseif i=jfprintf(elsefprintf( end% L在A下三角,U在上三角(对角线为1) end%在下三角部分,则取A对于的元素显示 %8.4f,A(i,j);%在对角线上,则显示1%8d,1);%在上三角部分,则显示0%8d,0);endfprintf(n);% 换行end disp(U=);for i=1:nfor j=1:nif i=j%在上三角部分或对角线上,则取A对于的元素显示fprintf(%8.4f,A(i,j);else%在下三角部分,则显示0fprintf(%8d,0);endend fprintf(n);% 换行end数值计算方法实验3报告班

36、级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名:XXX成绩:1. 实验名称实验3解线性方程组的直接法(之LU分解法)2. 实验题目用LU分解(Doolittle分解)法求解线性方程组x + 2 x + 6 x = 12 x + 5 x +15 x = 36 x+15 ; + 46【=10、1233. 实验目的熟悉解线性方程组LU分解法.4. 基础理论、若将矩阵A进行了 Doolittle分解,A =LU,则解方程组版=b可以分解求解两个三角方程组Ly = b和Ux = _ .它们都可直接代入求解,其中Ly = b的代入公式为y k=bk-云j =1k = 1,2,,n而ux

37、 = y的代入公式为xk = (yk一u x )/u , kj jkkk = n, n -1,1.j=k +15. 实验环境操作系统:Windows xp;程序设计语言:Matlab6. 实验过程(1)Doolittle分解过程依次计算一行u同时计算一列l完成,并将计算的u(和*仍存放在矩阵A中的相应位置;,J ,J(2)求解方程组的代入公式中用到的u.和l.都直接在A的相应位置取值即可.算法的伪代码描述:,J ,JInput:阶数n;矩阵A;常数项向量bOutput:方程组Ax=b的解x行号伪代码注释1LU分解参加上一实验程序2for k - 1 to n3y = b - i-11 y ,

38、k = 1,2,n kkkj jj=1代入法求解Ly=b4endfor5for k - 1 to n6x = (y -才 u x )/u ,k = n,n -1, ,1 kkkj jkkj=k+1回代求解Ux=y7endfor8return x1,,x7. 结果与分析8. 附录:程序清单 %*% 程序名:LinearSystemByLU.m*%程序功能:利用LU分解(Doolittle分解)解方程组.*%*clc;clear all;n=3;%矩阵阶数A=1 2 6; 2 5 15; 6 15 46; b=1;3;10;% LU 分解(Doolittle 分解)for k=1:n%计算矩阵U的

39、元素u_kj % (可参照下面l_ik的公式填写)fa- i = k - 1 : n%计算矩阵L的元素l_ik如j= 1 :k-1endA(i,k) = Ai,k)/A(kJk); endendfork=1:n y(k)=b(k);% L在A下三角,U在上三角(对角线为1)%用代入法求解下三角方程组Ly=b3% y = b -Y l y , k = 1,2, , nj=133enddisp(方程组 Ly=b 的解:y=);disp(y);for k=n:-1:1%回代求解上三角方程组Ux=yx(k)=y(k);6% x = y - Y u x , k = n, n 一 1,1k kkj jj=

40、k +1666enddisp(原方程组的解:x=);disp(x);数值计算方法实验3报告班级:20xx 级 XXXXx 班学号:20xx2409xxxx姓名:XXX成绩:1. 实验名称实验3解线性方程组的直接法(之Cholesky分解)2. 实验题目对矩阵A进行Cholesky分解,其中r621-r2410A =114-1-1V 10-13 J3. 实验目的理解矩阵的Cholesky分解.4. 基础理论矩阵的Cholesky分解是指将矩阵A = (a/似可以分解为一个下三角矩阵L和L转置的乘积,即A=LLT,其中L各元素可依如下顺序公式计算lkk =九_尤* r=1i = k +1, k + 2, , nl = (a -如l l )/1 ,ik ikit tk kkIt=1其中k = 1, 2,,n.5. 实验环境操作系统:Windows xp;程序设计语言:VC+6. 实验过程(1) 按计算公式依次先计算一列对角线上的元素lkk,再计算这列其他元素lik,且对称位置的元素也取同一个值;(

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!