云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 1200710222+李卫康+数值分析试验一

1200710222+李卫康+数值分析试验一

  • 62 次阅读
  • 3 次下载
  • 2025/6/1 11:19:11

附 录Ⅰ 实验报告的一般格式

桂林电子科技大学

数学与计算科学学院实验报告

实验室: 实验日期: 年 月 日 数学与计算科学学院 院(系) 年级、专业、班 1200710222 姓名 李卫康 成绩 课程 名称 数值分析 实验项目 名 称 指导 教师 一 ,实验目的 通过实验加深理解线性方程组的雅可比迭代法,高斯-赛德尔迭代法和SOR迭代法的算法思想,掌握三个迭代法Matlab程序的编写和使用。 二,实验原理 Matlab中有三个内置函数可以提取矩阵中的部分元素, >> D = diag(A) 当A为方阵时,输出D为向量,它由A的对角线元素构成;当A为向量时,输出D为对角阵,它以A为对角线元素。 >> L = tril(A,k) 输入A为方阵,k为对角线序号,主对角线k=0,向右上移动依次k递增1,向左下移动k依次递减1,输出L为第k条对角线及其以下元素构成的三角阵。 >> U = triu(A,k) 输入A为方阵,k为对角线序号,输出U为第k条对角线及其以上元素构成的三角阵。 根据线性方程组的雅可比迭代法的迭代公式 x?编写Matlab程序 k?1??k???k??1?1?D?1?b?L?Ux?DL?Ux?Db ??????function [x,k]=jacobi(A,b,x0,e,n) %输入 A为系数矩阵,b为常数的列向量,x0为迭代初始向量,n为最大迭代次数. %输出为解x和迭代次数k. format long; D=diag(diag(A)); L=(-1).*tril(A,-1); U=(-1).*triu(A,1); k=0; x=D\\(L+U)*x0+D\\b; while norm(x-x0)>=e x0=x; x=D\\(L+U)*x0+D\\b; k=k+1; disp([k,x(1),x(2),x(3)]); if k>n break; end end 三,使用仪器,材料 Matlab编译器 四,实验内容与步骤 1. 编写高斯-赛德尔迭代法和SOR迭代法的Matlab程序。 a)function [x,k]=gaosisaide(A,b,x0,e,n) %输入 A为系数矩阵,b为常数的列向量,x0为迭代初始向量,n为最大迭代次数. %输出为解x和迭代次数k. format long; D=diag(diag(A)); L=(-1).*tril(A,-1); U=(-1).*triu(A,1); k=0; x=(D-L)\\U*x0+(D-L)\\b; while norm(x-x0)>=e x0=x; x=(D-L)\\U*x0+(D-L)\\b; k=k+1; disp([k,x(1),x(2),x(3)]); if k>n break; end end >> A=[20 2 3;1 8 1;2 -3 15]; b=[24 12 30]'; x0=[0 0 0]'; >> [x,k]=gaosisaide(A,b,x0,0.00001,100) 1.00000000000000 0.74850000000000 1.14268750000000 2.12873750000000 2.00000000000000 0.76642062500000 1.13810523437500 2.12543163020833 3.00000000000000 0.76737473203125 1.13839920472005 2.12536321000651 4.00000000000000 0.76735559802702 1.13841014899581 2.12536795006223 5.00000000000000 0.76735379259109 1.13840978216834 2.12536811742152 x = 0.76735379259109 1.13840978216834 2.12536811742152 k = 5 b)function [x,k]=sor(A,b,x0,e,n) %输入 A为系数矩阵,b为常数的列向量,x0为迭代初始向量,n为最大迭代次数. %输出为解x和迭代次数k. format long; w=1.5; D=diag(diag(A)); L=(-1).*tril(A,-1); U=(-1).*triu(A,1); k=0; x=(D-w*L)\\(((1-w)*D+w*U)*x0+w*b); while norm(x-x0)>=e x0=x; x=(D-w*L)\\(((1-w)*D+w*U)*x0+w*b); k=k+1; disp([k,x(1),x(2),x(3)]); if k>n break; end end >> A=[20 2 3;1 8 1;2 -3 15]; b=[24 12 30]'; x0=[0 0 0]'; [x,k]=sor(A,b,x0,0.00001,100) 1.00000000000000 -0.10996875000000 0.71179101562500 1.62865605468750 2.00000000000000 1.38176811035156 1.32964996124268 2.30821333895874 3.00000000000000 0.39032044937210 1.07919993406663 2.09158922086620 4.00000000000000 0.97235221050906 1.13591101458382 2.10050825184024 5.00000000000000 0.67082288589384 1.16241990438295 2.16430726821600 6.00000000000000 0.80325643604704 1.11237185325921 2.09090663466036 7.00000000000000 0.76106201118902 1.15906995227364 2.15005526611411 8.00000000000000 0.76184606668877 1.12448352396264 2.10994821079398 9.00000000000000 0.77566609063257 1.14670555650120 2.13390434342685 10.00000000000000 0.76003264393749 1.13403403661859 2.12125151048465 11.00000000000000 0.77259698267942 1.14038638922244 2.12697076498852 12.00000000000000 0.76407512815451 1.13773570042446 2.12502030200218 13.00000000000000 0.76917251290859 1.13847099699200 2.12519664551480 14.00000000000000 0.76647384875608 1.13857628382821 2.12567979263985 15.00000000000000 0.76769867970376 1.13820339452147 2.12508138609576 16.00000000000000 0.76727683909835 1.13858113551537 2.12557827978706 17.00000000000000 0.76731929717143 1.13829113656260 2.12523434164096 18.00000000000000 0.76741895406068 1.13848193877464 2.12544361999978 19.00000000000000 0.76729341765351 1.13837083605269 2.12533075728521 20.00000000000000 0.76739824537617 1.13842789397465 2.12538334047455 21.00000000000000 0.76732544160895 1.13840315637202 2.12536418835254 22.00000000000000 0.76736986336040 1.13841078711781 2.12536716928699 23.00000000000000 0.76734583716255 1.13841091773180 2.12537052324353 24.00000000000000 0.76735707602916 1.13840811627047 2.12536575805354 25.00000000000000 0.76735294898280 1.13841118429545 2.12536988646530 x = 0.76735294898280 1.13841118429545 2.12536988646530 k = 25 >> 2. 利用高斯-赛德尔迭代法的Matlab程序计算线性方程组 ?20x1?2x2?3x3?24? ?x1?8x2?x3?12?2x?3x?15x?3023?1并且在同样误差条件下和算例的雅可比迭代法比较收敛速度。 >> A=[20 2 3;1 8 1;2 -3 15]; >> b=[24 12 30]'; >> x0=[0 0 0]'; >> [x,k]=gaosisaide(A,b,x0,0.00001,100) 1.00000000000000 0.74850000000000 1.14268750000000 2.12873750000000 2.00000000000000 0.76642062500000 1.13810523437500 2.12543163020833

搜索更多关于: 1200710222+李卫康+数值分析试验一 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

附 录Ⅰ 实验报告的一般格式 桂林电子科技大学 数学与计算科学学院实验报告 实验室: 实验日期: 年 月 日 数学与计算科学学院 院(系) 年级、专业、班 1200710222 姓名 李卫康 成绩 课程 名称 数值分析 实验项目 名 称 指导 教师 一 ,实验目的 通过实验加深理解线性方程组的雅可比迭代法,高斯-赛德尔迭代法和SOR迭代法的算法思想,掌握三个迭代法Matlab程序的编写和使用。 二,实验原理 Matlab中有三个内置函数可以提取矩阵中的部分元素, >> D = diag(A) 当A为方阵时,输出D为向量,它由A的对角线元素构成;当A为向量时,输出D为对角阵,它以A为对角线元素。 >>

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com