当前位置:文档之家› 实验一面向方程的数值积分方法仿真线性定常系统

实验一面向方程的数值积分方法仿真线性定常系统

实验一面向方程的数值积分方法仿真线性定常系统
实验一面向方程的数值积分方法仿真线性定常系统

实验一:面向方程的数值积分方法仿真(线性定常系统)

1. 实验目的:

加深理解四阶龙格--库塔法的原理及其稳定性。

2. 实验内容:

对下列系统进行仿真

(1) 线性定常系统

[]??????????=??????????+????????????????????---=?????

???????321001600032100300110000110321...x x x y u x x x x x x , 其初值为:)]

2(1)(1[)(000)0(3)0(2)0(1--?=????

??????=??????????t t t t u x x x (2) 非线性系统?????+-=-=)()()()()

()()()(t y t bx t sy dt

t dy t y t ax t rx dt t dx ① r=0.001,a =2*104,s=0.015, b =10 - 4;x(0)=1200,y(0)=600

② r=0.001,a =2*10 - 6,s=0.01, b =10 - 6;x(0)=12000,y(0)=600

3. 实验要求:

(1) 为保证稳定性,分析系统(1)的最大仿真步长(方法自选,保留两位有效数字);

(2) 设计Matlab 或 C 程序,用四阶龙格库塔法进行仿真计算,改变参数及仿真步长,观察实验结果,寻找最适宜的仿真步长和临界仿真步长。

4. 实验报告:

(1) 实验所用程序清单;

(2) 实验结果及分析。

注:实验报告可以采用电子文档(标明图号)+书面形式,其中书面报告内容为:

(1) 系统(1)最大步长的理论分析;

(2) 仿真结果分析;

书面报告中不必列出实验题目与结果图(以下同)。

实验二:面向结构图的线性系统仿真

1. 实验目的

学习基于Simulink 面向结构图进行数字仿真的原理及方法(请使用Matlab

6.1附带的Simulink 版本)。

2. 实验内容

(1) 用Simulink 实现以下的仿真系统结构图

(2) 当r(t)=1(t)时,对系统进行仿真;

(3) 当r(t)=?

??>≤s t t s t t 5.1),(15.1,5时,对系统进行仿真。

3. 实验要求

选取至少3个不同量级的仿真步长,观察其对稳定性,精度与速度的影响。

4. 实验报告

(1) 实验过程及程序设计说明

(2) 实验结果及分析

书面报告内容:

实验结果分析。

1.实验目的

1)理解离散事件系统仿真的基本概念;

2)训练编制离散事件仿真程序的能力;

2.实验内容

某银行上午9点至下午5点营业(关门时,若尚有顾客未接受完服务,也停止服务),采用叫号排队制度(单队列)。设顾客到达时间间隔是均值为1min的指数随机变量,为每一顾客服务的服务时间服从均值为4.5min 的指数分布。通过仿真(重复10次)分别估计有四个、五个、六个柜台时的系统性能,包括顾客在队列中的平均等待时间、最大等待时间、平均队长三个指标。

3.实验报告:实验结果及分析。

书面报告内容:实验结果分析。

1.实验目的

1)加深对离散事件系统仿真的基本概念的理解;

2)训练编制离散事件仿真程序的能力;

3)掌握几种随机变量的产生方法。

2.实验内容

考虑一个加工中心,待加工零件到达时间间隔是均值为5min的指数随机变量(该随机变量在有限区间上,其上限9min,下限2.5min),零件加工时间满足2自由度的Erlang(2,2.0)(有限区间,上限8min,下限2min)分布*。通过仿真,估计:(1)平均队长Q

(2)平均延误时间d

仿真终止规则:

①初始队长为0,分别连续运行480,720,960,1200,1440,1680,1920,2880,3360,3840,4320,4800min;

②初始队长为0,仿真运行加工1200个零件;

③随机产生初始队长(10~50),分别连续运行2400min,共仿真10次。* Erlang分布:

Erlang(m,λ)分布指m个独立同分布的均值为λ的指数分布之和。

3.实验报告

(1)实验用程序清单及仿真结果;

(2)结果分析:

●按第1种终止规则作出Q,d随运行时间T变化的曲线;

●比较第1种与第2种规则仿真结果;

●比较第3种规则10次仿真结果。

书面报告内容:

(1)画出程序流程图或者叙述编程思想;

(2)仿真结果分析;

实验五:随机过程仿真

1.实验目的

(1)进一步理解离散事件系统仿真的实际意义;

2.实验内容

预测25年内城市人口流动状况及结果。5个节点分别代表5个城市,节点i到节点j的权重为Pij(代表一年内i镇居民流向j镇的概率)。任何城镇居民不是继续留在本镇就是流向其他城镇。城市1-5的初始人口数为4000, 8000, 10000, 3000, 5000。

3/8

1/4

1/6

书面报告内容:

(1)叙述编程思想;

(2)仿真结果分析;

(3)总结本次实验的体会。

数学实验5矩阵运算和解线性方程组

实验5 矩阵运算和解线性方程组一、实验题目 用Mathematica软件进行矩阵运算和解线性方程组。 二、预期目标 利用Mathematica进行: 1. 矩阵运算. 2. 矩阵的行列式与逆. 3. 矩阵的秩. 4. 线性方程组求解. 三、常用命令 方阵A的行列式: 给出方阵A的逆矩阵: 矩阵A的转置矩阵: 用初等行变换将矩阵A化成的行最简阶梯形矩阵: 将矩阵A在工作区中以矩阵格式输出: 求矩阵方程XA B,AX B ==的解: 求线性方程组b AX=的解: 求代数方程的解: 四、练习内容 1.计算: (1) 1 2 3 4 2 1 4 10 1 0 2 1 10 1 2 0 2 1 1 2 50 2 3 2???? ? ?-+- ? ? ? ?--???? 命令:

结果: (2) 1 0 5 1 0 3 1 2 10 2 0 1 5 0 3 1 0 1 0 1 0 2 0 3 0 ?? - ?? ? - ?? ? ? ? ? ? ?? ? ??? ?? 命令: 结果: 2.求矩阵 1 2 0 0 1 1 1 2 3 ?? ? ? ? - ?? 的秩。 命令: 结果: 3.判断下列矩阵是否可逆,如可逆,求其逆矩阵。 (1) 2 2 1 1 2 4 5 8 2 -?? ? - ? ??? 命令: 结果: (2) 1 2 3 4 2 3 1 2 1 1 1 1 1 0 2 6?? ? ? ? - ? --??命令: 结果:

(3) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1?? ? -- ? ?-- ?-- ??命令: 结果: 4.设 1 1 1 1 1 3 2 1 0 4 3 2 1 1 1 1 2 5 X - ???? ? ? = ? ? ? ? ???? ,求X。 命令: 结果: 5.设 1 0 21 0 1 31 1 1 11 X ???? ? ? -= ? ? ? ? ???? ,求X。命令: 结果: 6.解线性方程组 1234 1234 1234 1234 224 4326 833412 33226 x x x x x x x x x x x x x x x x +-+= ? ?+-+= ? ? +-+= ? ?+--= ? 。 命令:结果:

第二章 线性方程组的数值解法

第二章 线性方程组的数值解法 在科技、工程技术、社会经济等各个领域中很多问题常常归结到求解线性方程组。例如电学中的网络问题,样条函数问题,构造求解微分方程的差分格式和工程力学中用有限元方法解连续介质力学问题,以及经济学中求解投入产出模型等都导致求解线性方程组。 n 阶线性方程组的一般形式为 ?? ???? ?=+++=+++=+++n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a L K K K K L L 22112 222212********* (1.1) 其矩阵形式为 b Ax = (1.2) 其中 ????? ???????=??? ?????????=? ? ????? ?????= n n nn n n n n b b b b x x x x a a a a a a a a a A M M L K K K K L L 2121212222111211 ),,2,1,(n j i a ij L =,),,2,1(n i b i L =均为实数,i b 不全为0,且A 为非奇异。 关于线性方程组的数值解法一般分为两类: 1.直接法 就是不考虑计算机过程中的舍入误差时,经有限次的四则运算得到方程组准确解的方法。 而实际中由于计算机字长的限制,舍入误差的存在和影响,这种算法也只能求得线性方程组的近似解。本章将阐述这类算法中最基本的消去法及其某些变形。这些方法主要用于求解低阶稠密系数矩阵方程组。 2.迭代法 从某个解的近似值出发,通过构造一个无穷序列,用某种极限过程去逐步逼近线性方程组的精确解的方法。本章主要介绍迭代法与迭代法。迭代法是解大型稀疏矩阵(矩阵阶数高而且零元素较多)的线性方程组的重要方法。 §1 高斯)(Gauss 消去法 1.1 Gauss 消去法 Gauss 消去法是将线性方程组化成等价的三角形方程组求解。首先举例说明Gauss

第十章-偏微分方程数值解法

第十章 偏微分方程数值解法 偏微分方程问题,其求解十分困难。除少数特殊情况外,绝 大多数情况均难以求出精确解。因此,近似解法就显得更为重要。本章仅介绍求解各类典型偏微分方程定解问题的差分方法。 §1 差分方法的基本概念 1.1 几类偏微分方程的定解问题 椭圆型方程:其最典型、最简单的形式是泊松(Poisson )方程 ),(22 2 2y x f y u x u u =??+??=? 特别地,当0),(≡y x f 时,即为拉普拉斯(Laplace )方程,又 称 为调和方程 22 22=??+??=?y u x u u Poisson 方程的第一边值问题为 ?? ???Ω ?=Γ=Ω∈=??+??Γ∈),(),(),() ,(),(22 22y x y x u y x y x f y u x u y x ?

其中 Ω为以Γ为边界的有界区域,Γ为分段光滑曲线,ΓΩY 称为定解区域,),(y x f ,),(y x ?分别为Ω,Γ上的已知连 续函数。 第二类和第三类边界条件可统一表示为 ),(),(y x u u y x ?α=??? ? ??+??Γ∈n 其中n 为边界Γ的外法线方向。当0=α时为第二类边界条件, 0≠α时为第三类边界条件。 抛物型方程:其最简单的形式为一维热传导方程 2 20(0)u u a a t x ??-=>?? 方程可以有两种不同类型的定解问题: 初值问题 ?? ???+∞ <<∞-=+∞<<-∞>=??-??x x x u x t x u a t u )()0,(,00 22? 初边值问题

2 212 00,0(,0)()0(0,)(),(,)()0u u a t T x l t x u x x x l u t g t u l t g t t T ????-=<<<

数学实验“线性方程组的最速下降法与共轭梯度法解法”实验报告(内含matlab程序代码)

西京学院数学软件实验任务书

实验五实验报告 一、实验名称:最速下降法与共轭梯度法解线性方程组。 二、实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路,提高matlab 编程能力。 三、实验要求:已知线性方程矩阵,应用最速下降与共轭梯度法在相关软件编程求解线性方程组的解。 四、实验原理: 1.最速下降法: 从某个初始点)0(X 出发,沿)(X f 在点)0(X 处的负梯度方向 )0()0()0()(AX b X f r -=-?= 求得)(X f 的极小值点)1(X , 即 )(min )0()0(0 r X f λλ+> 然后从)1(X 出发,重复上面的过程得到)2(X 。如此下去,得到序列{)(k X } )(...)()()()1()0(k X f X f X f >>> 可以证明,从任一初始点)0(X 出发, 用最速下降法所得到的序列{)(k X }均收敛于问题使X 最小化)(X f 的解,也就是方程组b AX =的解。其收敛速度取决于 1 1 λλλλ+-n n ,其中1λ ,n λ分别

为A 的最小,最大特征值。最速下降法迭代格式:给定初值)0(X , )(k X 按如下方法决定: ()) ()(1)(k )()()()(k ) ()(X ,,)(k k k k T k k T k k k k r X Ar r r r AX b X f r λλ+=> <><=-=-?=+ 2.共轭梯度法 其基本步骤是在点)(k X 处选取搜索方向)(k d , 使其与前一次的搜索方向)1(-k d 关于A 共轭,即 (1)()(1),0k k k d d Ad --<>= 然后从点)(k X 出发,沿方向)(k d 求得)(X f 的极小值点 )1(+k X , 即 )(min )() ()(0 )1(k d X f X f k k λλ+=>+ 如此下去, 得到序列{)(k X }。不难求得0,)1()(>=<-k k Ad d 的解为 ) () 1()1()()() () 1(,,k k k k k k k d Ad d d AX b X X > <>-<+=--+ 注意到)(k d 的选取不唯一,我们可取

2021年常系数线性方程组基解矩阵的计算

常系数线性方程组基解矩阵的计算 欧阳光明(2021.03.07) 董治军 (巢湖学院数学系,安徽巢湖238000) 摘要:微分方程组在工程技术中的应用时非常广泛的,不少问题都归结于它的求解问题,基解矩阵的存在和具体寻求是不同的两回事,一般齐次线性微分方程组的基解矩阵是无法通过积分得到的,但当系数矩阵是常数矩阵时,可以通过方法求出基解矩阵,这时可利用矩阵指数exp A t,给出基解矩阵的一般形式,本文针对应用最广泛的常系数线性微分方程组,结合微分方程,线性代数等知识,讨论常系数齐次线性微分方程的基解矩阵的几个一般的计算方法. 关键词;常系数奇次线性微分方程组;基解矩阵;矩阵指数Calculation of Basic solution Matrix of Linear Homogeneous System with Constant Coefficients Zhijun Dong (Department of Mathematics,Chaohu CollegeAnhui,Chaohu) Abstract:Differential equations application in engineering technology is very extensive, when many problems are attributable to its solving problem, base solution matrix existence and specific seek is different things, general homogeneous linear differential equations is not the

偏微分方程数值解法

一、 问题 用有限元方法求下面方程的数值解 2 u u u f t ?-?+=? in (]0,T Ω? 0u = on []0,T ?Ω? ()00,u x u = in Ω 二、 问题分析 第一步 利用Green 公式,求出方程的变分形式 变分形式为:求()()21 00,;u L T H ∈Ω,使得 ()())(2 ,,,,u v u v u v f v t ???+??+= ???? ()10v H ?∈Ω (*) 以及 ()00,u x u =. 第二步 对空间进行离散,得出半离散格式 对区域Ω进行剖分,构造节点基函数,得出有限元子空间:()12,,,h NG V span ???=???,则(*)的Galerkin 逼近为: []0,t T ?∈,求()()1 0,h h u t x V H ∈?Ω,使得 ()()()()() () )(2 ,,,,h h h h h h h d u t v u t v u t v f v dt +??+= h h v V ?∈ (**) 以及()0,0h h u u =,0,h u 为初始条件0u 在h V 中的逼近,设0,h u 为0u 在h V 中的插值. 则0t ?≥,有()()1 N G h i i i u t t ξ? == ∑,0,h u =01 N G i i i ξ?=∑,代人(**)即可得到一常微分方程组. 第三步 进一步对时间进行离散,得到全离散的逼近格式 对 du dt 用差分格式.为此把[]0,T 等分为n 个小区间[]1,i i t t -,其长度1i i T t t t n -?=-= ,n t T =. 这样把求i t 时刻的近似记为i h u ,0 h u 是0u 的近似.这里对(**)采用向后的欧拉格式,即 ()()() () )(2 11 11 1 ,,,,i i i i h h h h h h h i h u u v u v u v f v t ++++-+??+ = ? h h v V ?∈ (***) i=0,1,2…,n-1. 0 h u =0,h u 由于向后欧拉格式为隐式格式且含有非线性项,故相邻两时间步之间采用牛顿迭代,即:

实验5解线性方程组的迭代法

西华数学与计算机学院上机实践报告 课程名称:计算方法A 年级: 上机实践成绩: 指导教师:严常龙 姓名: 上机实践名称:解线性方程组的迭代法 学号: 上机实践日期: 上机实践编号:1 上机实践时间:16:00-17:40 一、目的 1.通过本实验加深对Jacobi 迭代法、Gauss-Seidel 迭代法、松弛迭代法的构造过程的理解; 2.能对上述三种迭代法提出正确的算法描述编程实现,进一步理解迭代法的改进过程; 二、内容与设计思想 自选线性方程组,编制一个程序,分别用Jacobi 迭代法、Gauss-Seidel 和松弛迭代法求解,比较三 种迭代法收敛速度的快慢。 三、使用环境 操作系统:Windows XP 软件环境:Microsoft Visual C++ 四、核心代码及调试过程 题目要求,求解下面的方程组,分别用Jacobi 迭代法、Gauss-Seidel 迭代法求解 ???????=+++=-++=+-+=+-+9 .369.57.34.05.16 .163.11.89.06.58.18.25.33.63.11.155.04.43.22.74321432143214321x x x x x x x x x x x x x x x x 1.Jacobi 迭代法 #include #include main() { int i,j,n=4,cj=0; float a[5][5],x[5],y[5],g[5],b[5][5],x1[5]; float max,sum=0.0; a[0][0]=7.2;a[0][1]=2.3;a[0][2]=-4.4;a[0][3]=0.5; a[1][0]=1.3;a[1][1]=6.3;a[1][2]=-3.5;a[1][3]=2.8; a[2][0]=5.6;a[2][1]=0.9;a[2][2]=8.1;a[2][3]=-1.3; a[3][0]=1.5;a[3][1]=0.4;a[3][2]=3.7;a[3][3]=5.9; y[0]=15.1;y[1]=1.8;y[2]=16.6;y[3]=39.6;

实验五线性方程组-1240111118-武元甲

实验五线性方程组 一实验目的 通过本课程的实习,学会编写全主元消去法的计算程序。掌握解线性方程组的最基本算法及其运用,进一步了解该解法的功能、优缺点,领会系数矩阵对解的影响。 二实验内容 本实验将线性方程组的高斯-赛德尔迭代法和高斯列主元消去法实现为类CLinear_Equations,调用该类实现线性方程组的求解。该类结构如下 class CLinear_Equations { public: CLinear_Equations(void); CLinear_Equations(float **ppA,float *pB,int D); //向类中公有变量和指针传递数据~CLinear_Equations(void); float * Adjust(float * pX);//一步迭代 float * Gauss_Seidel(float * pX0,float e); float Distance_Vector(float * pX0, float * pX1);//计算两个向量之差的范数 int Search_Pricipal_Element(int Col);//寻找第Col列的主元 void Exchange(int Row1, int Row2);//交换第Row1行与第Row2行的元素 void Slash(int Row);//削去第Row列对角线以下的元素 float * Elimination(void);// 回代过程,返回值为最终解向量 float * Gaussian_Elimination(void); float **pp_A,*p_B; //分别存放系数矩阵、常数项向量 int m_D; //方程组的维数 }; 为了方便,使用二维动态数组。可调用下面的函数为二维指针分配动态存储空间和销毁空间。为了方便程序的移植和重复利用,可将这两个函数写在一个文件MatrixAllocate.h中。 template bool New(T **&ppData,int H,int W) {//该函数为二维指针ppData分配动态存储空间 T *ppData1 = new T[W*H]; ppData=new T*[H]; for(int i=0;i bool Delete(T **&ppData) {//该函数销毁二维指针ppData

偏微分方程数值解法答案

1. 课本2p 有证明 2. 课本812,p p 有说明 3. 课本1520,p p 有说明 4. Rit2法,设n u 是u 的n 维子空间,12,...n ???是n u 的一组基底,n u 中的任一元素n u 可 表为1n n i i i u c ?==∑ ,则,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???=== -=-∑∑是12,...n c c c 的二次函数,(,)(,)i j j i a a ????=,令 () 0n j J u c ?=?,从而得到12,...n c c c 满足1 (,)(,),1,2...n i j i j i a c f j n ???===∑,通过解线性方程组,求的i c ,代入1 n n i i i u c ?==∑, 从而得到近似解n u 的过程称为Rit2法 简而言之,Rit2法:为得到偏微分方程的有穷维解,构造了一个近似解,1 n n i i i u c ?== ∑, 利用,11 11()(,)(,)(,)(,)22j n n n n n n i j i j j i j j J u a u u f u a c c c f ???===-=-∑∑确定i c ,求得近似解n u 的过程 Galerkin 法:为求得1 n n i i i u c ? == ∑形式的近似解,在系数i c 使n u 关于n V u ∈,满足(,)(,) n a u V f V =,对任 意 n V u ∈或(取 ,1j V j n ?=≤≤) 1 (,)(,),1,2...n i j i j i a c f j n ???===∑的情况下确定i c ,从而得到近似解1 n n i i i u c ?==∑的过程称 Galerkin 法为 Rit2-Galerkin 法方程: 1 (,)(,)n i j i j i a c f ???==∑ 5. 有限元法:将偏微分方程转化为变分形式,选定单元的形状,对求解域作剖分,进而构 造基函数或单元形状函数,形成有限元空间,将偏微分方程转化成了有限元方程,利用 有效的有限元方程的解法,给出偏微分方程近似解的过程称为有限元法。 6. 解:对求解区间进行网格剖分,节点01......i n a x x x x b =<<<<=得到相邻节点1,i i x x -

实验一用matlab求解线性方程组

实验1.1 用matlab 求解线性方程组 第一节 线性方程组的求解 一、齐次方程组的求解 rref (A ) %将矩阵A 化为阶梯形的最简式 null (A ) %求满足AX =0的解空间的一组基,即齐次线性方程组的基 础解系 【例1】 求下列齐次线性方程组的一个基础解系,并写出通解: 我们可以通过两种方法来解: 解法1: >> A=[1 -1 1 -1;1 -1 -1 1;1 -1 -2 2]; >> rref(A) 执行后可得结果: ans= 1 -1 0 0 0 0 -1 1 0 0 0 0 由最简行阶梯型矩阵,得化简后的方程 ??? ??=+--=+--=-+-0 22004321 43214321x x x x x x x x x x x x

取x2,x4为自由未知量,扩充方程组为 即 提取自由未知量系数形成的列向量为基础解系,记 所以齐次方程组的通解为 解法2: clear A=[1 -1 1 -1;1 -1 -1 1;1 -1 -2 2]; B=null(A, 'r') % help null 看看加个‘r’是什么作用, 若去掉r ,是什么结果? 执行后可得结果: B= 1 0 1 0 0 1 0 1 ?? ?=-=-0 04321x x x x ?????? ?====4 4432221x x x x x x x x ??? ??? ??????+????????????=????? ???????1100001142 4321x x x x x x , 00111????? ? ??????=ε, 11002????? ???????=ε2 211εεk k x +=

线性方程组的数值解法实验报告

实验报告 ——线性方程组的数值解法 姓名: 班级: 学号: 日期:

一 实践目的 1. 熟悉求解线性方程组的有关理论和方法。 2. 会编列主元消去法,全主元消去法,雅克比迭代法及高斯-赛德尔迭代法的程序。 3.通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。 4. 进一步应用数学知识,扩展数学思维,提高编程能力。 二 问题定义及题目分析 1.求解线性方程是实际中常遇到的问题。而一般求解方法有两种,一个是直接求解法,一个是迭代法。 2.直接法是就是通过有限步四则运算求的方程准确解的方法。但实际计算中必然存在舍入误差,因此这种方法只能得到近似解。 3.迭代法是先给一个解的初始近似值,然后按一定的法则求出更准确的解,即是用某种极限过程逐步逼近准确解的方法。 4.这次实践,将采用直接法:列主元高斯消去法,全主元高斯消去法;迭代法:雅克比迭代法和高斯-赛德尔迭代法。 三 详细设计 设有线性方程组 11112211n n a x a x a x b +++= 21122222n n a x a x a x b +++= 1122n n nn n n a x a x a x b +++=

令A= 1112121 2221 2 n n n n nn a a a a a a a a a ?????????? ?? x= 12n x x x ???? ???????? b= 12n b b b ???????????? 一. 上三角方程组的求解很简单。所以若能将方程组化为上三角方程组,那就很容易得到方程的解,高斯消去法则是一种简洁高效的方法,可以将方程组化为上三角方程组,但是这种方法必须满足每一步时0kk a =才能求解,还有当kk a 绝对值很小时,作分母会引起较大的舍入误差。因此在消元过程中应尽量选择绝对值较大的系数作为主元素。 1.列主元消去法很好的解决这一问题。 将1x 的系数1(1)k a k n ≤≤中绝对值最大者作为主元素,交换第一行和此元素所在的行,然后主元消去非主元项1x 的系数,。一般的,在k x 的一些相关系数之前,先从,1,,,k k k k n k a a a + 中选出绝对值最大者作为主元素,交换第k 行和次主元素所在的行,再消去k x 的一些相关系数,只要方程组A 非奇异,则每个主元定不为0,故消元过程一定能将方程组化为上三角方程组。 将方程用增广矩阵[](1)()ij n n A b a ?+= 表示。 (1) 消元过程 对01,2,1k n =- ,; 1. 选主元,找{},1,k i k k n ∈+ ,使得,max ()k i k ik a a k i n =≤≤ 2. ,=0k i k a ,则矩阵A 奇异,程序结束,否则执行下一步。 3. 如果k i k ≠,则交换第k 行与第k i 行对应的元素位置,即 (,1,,1)k kj i j a a j k k n ?=++

线性方程组数值解法总结

好久没来论坛,刚刚发现以前的帖子现在那么火很欣慰,谢谢大家支持! 今天趁着不想做其他事情,把线性方程组的数值解法总结下,有不足的地方希望大神指教!数学建模中也会用到线性方程组的解法,你会发现上10个的方程手动解得话把你累个半死,而且不一定有结果,直接用matlab的函数,可以,关键是你不理解用着你安心吗?你怎么知道解得对不对? 我打算开个长久帖子,直到讲完为止!这是第一讲,如有纰漏请多多直接,大家一起交流!线性方程组解法有两大类:直接法和迭代法 直接法是解精确解,这里主要讲一下Gauss消去法,目前求解中小型线性方程组(阶数不超过1000),它是常用的方法,一般用于系数矩阵稠密,而有没有特殊结构的线性方程组。 首先,有三角形方程组的解法引入Gauss消去法,下三角方程组用前代法求解, 这个很简单,就是通过第一个解第二个,然后一直这样直到解出最后一个未知数,代码如下:前代法: function [b]= qiandai_method(L,b) n=size(L,1); %n 矩阵L的行数 for j=1:n-1 %前代法求解结果存放在b中 b(j)=b(j)/L(j,j); b(j+1:n)=b(j+1:n)-b(j)*L(j+1:n,j); end b(n)=b(n)/L(n,n); 上三角方程组用回代法,和前面一样就是从下面开始解x,代码: 后代法: function [y]=houdai_method(U,y) n=size(U,1); %n 矩阵L的行数 for j=n:-1:2 %后代法求解结果存放在y中 y(j)=y(j)/U(j,j); y(1:j-1)=y(1:j-1)-y(j)*U(1:j-1,j); end y(1)=y(1)/U(1,1); Gauss消去的前提就是这两个算法: 具体思想是把任何一个线性方程组的系数矩阵A,分解为一个上三角和一个下三角的乘积,即A=LU,其中L为下三角,U为上三角。 那么具体怎么做呢? 有高斯变换,什么是高斯变换?由于时间有限我不可能去输入公式,所以我用最平白的话把它描述出来。 你先想一下怎么把一个矩阵的某一列的从第j个分量后全部变0? 高斯变换就是通过每次一个矩阵Li把A的第i列对角线元素以下的都变为0,最后把这么多Li一次左乘起来就是一个矩阵L’=L(n-1)L(n-2)…L2L1,而L’A=U, 那么L=L’的转置,这样就得到了A得分解。 我们要求Ax=b A=LU

求解偏微分方程三种数值方法

数值模拟偏微分方程的三种方法介绍 (有限差分方法、有限元方法、有限体积方法) I.三者简介 有限差分方法(Finite Difference Methods)是数值模拟偏微分方程最早采用的方法,至今仍被广泛使用。该方法包括区域剖分和差商代替导数两个步骤。首先将求解区域划分为差分网格,用有限个网格节点代替连续的求解区域。其次,利用Taylor级数展开等方法将偏微分方程中的导数项在网格节点上用函数值的差商代替进行离散,从而建立以网格节点上的值为未知量的代数方程组。该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且十分成熟的数值方法。 差商代替导数后的格式称为有限差分格式,从格式的精度来考虑,有一阶格式、二阶格式和高阶格式。从差分的空间离散形式来考虑,有中心格式和迎风格式。对于瞬态方程,考虑时间方向的离散,有显格式、隐格式、交替显隐格式等。目前常见的差分格式,主要是以上几种格式的组合,不同的组合构成不同的差分格式。差分方法主要适用于结构网格,网格的大小一般根据问题模型和Courant 稳定条件来决定。 有限元方法(Finite Element Methods)的基础是虚位移原理和分片多项式插值。该方法的构造过程包括以下三个步骤。首先,利用虚位移原理得到偏微分方程的弱形式,将计算区域划分为有限个互不重叠的单元(三角形、四边形、四面体、六面体等),在每个单元上选择合适的节点作为求解函数的插值点,将偏微分方程中的变量改写成由各变量或其导数的节点值与所选用的分片插值基函数组成的线性表达式,得到微分方程的离散形式。利用插值函数的局部支集性质及数值积分可以得到未知量的代数方程组。 有限元方法有较完善的理论基础,具有求解区域灵活(复杂区域)、单元类型灵活(适于结构网格和非结构网格)、程序代码通用(数值模拟软件多数基于有限元方法)等特点。有限元方法最早应用于结构力学,随着计算机的发展已经渗透到计算物理、流体力学与电磁学等各个数值模拟领域。

线性方程组的直接解法 实验报告

本科实验报告 课程名称:数值计算方法B 实验项目:线性方程组的直接解法 最小二乘拟合多项式 实验地点:ZSA401 专业班级:学号:201000 学生姓名: 指导教师:李志 2012年4月13日

线性方程组的直接解法 一、实验目的和要求 实验目的:合理利用Gauss 消元法、LU 分解法或追赶法求解方程组。 实验要求:利用高斯消元法,LU 分解法或追赶法进行编程,求解题中所给的方程组。 二、实验内容和原理 实验内容:合理利用Gauss 消元法、LU 分解法或追赶法求解下列方程组: ① ?? ?? ? ?????=????????????????????13814142210321321x x x ②??? ? ?? ??????=????????????????????? ?? ? ??--?-2178.4617.5911212592.1121130.6291.513 14 .59103.043 2115x x x x ③?? ??? ??? ? ???????----=????????????????????????????????-55572112112112121 n n x x x x (n=5,10,100,…) 实验原理:这个实验我选用的是高斯消元法。高斯消元法:先按照 L ik =a ik^(k-1)/a kk^(k-1) , a ij^(k)=a ij^(k-1)-l ik a kj^(k-1) [其中k=1,2,…,n-1;i=k+1,k+2,…,n;j=k+1,k+2,…,n+1] 将方程组变为上三角矩阵,再经过回代,即可求解出方程组的解。 三.计算公式 通过消元、再回代的求解方法称为高斯消元法。特点是始终消去主对角线 下方的元素。 四、操作方法与实验步骤 #include "Stdio.h" #define N 3 main() { double a[N][N+1],b[N]; int i,j,k,x=0; for(i=0;i

线性方程组的数值解法

第三章线性方程组地数值解法 范数 (1> 常用范数 ① 向量 1- 范数: ② 向量 2- 范数: ③ 向量∞- 范数: ④ 向量 p- 范数: 向量1- 范数,向量2- 范数,向量∞- 范数实际上为任意 p- 范数地特例. (2> 矩阵范数 设,则 (1>,A地行范数 (2>,A地列范数 (3>,A地 2- 范数,也称谱范数 (4>, F- 范数 其中指矩阵地最大特征值 (3>谱半径(用于判断迭代法地收敛值> 设为矩阵A地特征值,则

称为A地谱半径 谱半径小于任何半径,若,则 (4>设A为非奇异矩阵,称 为A地条件数 矩阵地条件数与范数选取有关,通常有 显然当A对称时 直接法 Gauss消去法 ①Gauss顺序消去法 对线性方程组Ax=b,设,按顺序消元法,写出增广矩阵(A┆b>第一步,写出,将2~n行中地变为0 第k步,写出,将k+1~n行中地变为0 具体步骤可参照下面地例题 例5:用Gauss消去法解方程组

解: Guass列主元消去法 消去过程与Guass消元法基本相同,不同地是每一步消元时,都要将所选到地绝对值最大元素作为主元. 具体分析参见习题详解1 ②矩阵三角(LU>分解法 基本思想:将Ax=b化为LUx=b,令Ux=y 可得Ly=b,Ux=y,相当于先求出y,再求出x 其中,L,U分别为下三角矩阵和上三角矩阵 若L为单位下三角矩阵,则称为Doolittle分解。若U为单位上三角矩阵,则称为Crout分解. ③矩阵Doolittle分解法

计算公式 具体解题见习题详解2 注意计算顺序,先行再列,用简图表示为 虚线上地元素为对角元,划为行元. ④ 分解法 计算公式

偏微分方程数值解法试题与答案

x 1 ?若步长趋于零时,差分方程的截断误差 R m 0,则差分方程的解 U i m 趋近于微分方 程的解U m ?此结论 ________ (错或对); 1 2.一 阶 Sobolev 空间 H ( ) f (x,y) f , f x , f y L ?() 关于内积(f,g )1 _____________________________________ 是Hilbert 空间; 3 ?对非线性(变系数)差分格式,常用 ____________ 系数法讨论差分格式的 ________ 稳定性; 4?写出y x 3在区间[1,2]上的两个一阶广义导数: ______________________________________ _____ ____ ______________ _ ____ ________ ; 5 ?隐式差分格式关于初值是无条件稳定的 ?此结论 ________ (错或对)。 (13分)设有椭圆型方程边值问题 0.1作正方形网格剖分 。 (1) 用五点菱形差分格式将微分方程在内点离散化; (2) 用截断误差为 O (h 2)的差分法将第三边界条件离散化; (3) 整理后的差分方程组为 U C 三.(12)给定初值问题 u x,0 x 1 取时间步长 0.1,空间步长h 0.2。试合理选用一阶偏心差分格式(最简显格式) 2 u ~2 x 2 u ~2 y 0 x 0.3 0.2 x 0.3 2y 1, — u n 2x y 0.2

并以此格式求出解函数u(x,t)在x 0.2,t 0.2处的近似值。 x

1.所选用的差分格式是: 2 .计算所求近似值: 1 a k 1 四.(12分)试讨论差分方程 u l 1 k k k 1 u | r u | 1 u | , r h a 1 h 逼近微分方程 u a u 0 t x 的截断误差阶R 。 思路一:将r 带入到原式,展开后可得格式是在点( l+1/2,k+1/2 )展开的。 思路二:差分格式的用到的四个点刚好是矩形区域的四个顶点,可由此构造中心点的差分格 式。 2 —2 ,考虑 Du Fort-Frankel 格式 X 试论证该格式是否总满足稳定性的 Von-Neumann 条件? 六. (12分)(1 )由Green 第一公式推导 Green 第二公式: (2) 对双调和方程边值问题 n 2 选择函数集合(空间)为: 推导相应的双线性泛函和线性泛函: A (u,v ) F (v ) 相应的虚功问题为: 极小位能问题为 七. ( 12分)设有常微分方程边值问题 y y f (x ) , a x b y a 1, y b 1 五.(12分) 对抛物型方程 U |k1 U |k 2 |k 1 (U |k1 U |k1) U |k 1 ) 2 (u)vdxdy G (u) u vdxdy :[v v u ]ds n f (x,y) (x,y) g 1(x , y), g 2(x, y) (x,y),

实验解线性方程组的基本迭代法实验

数值分析实验报告

0 a 12 K a 1,n 1 K a 2,n 1 U O M 则有: 第一步: Jacobi 迭代法 a 1n a 2n M , 则有: A D L U a n 1,n Ax b A A x D b L U (D L U)x b Dx (L U)x b x D (L U)x D b 令 J D (L U) 则称 J 为雅克比迭代矩阵 f D b 由此可得雅克比迭代的迭代格式如下: x (0) , 初始向量 x (k 1) Jx (k) f ,k 0,1,2,L 第二步 Gauss-Seidel 迭代法 Ax b (D L U )x b (D L)x Ux b x (D L) Ux (D L) b A D L U a 11 a 12 L a 1n a 11 A a 21 a 22 L a 2n a 22 M MM MO a n1 a n2 L a nn a 11 得到 D a 22 O a nn 由 a 21 0 M M O a n 1,1 a n 1,2 L 0 a nn a n1 a n2 L a n,n a 21 L M M O a n 1,1 a n 1,2 L a n1 a n2 L a n,n 1 a 12 K a 1,n 1 a 1n 0 K a 2,n 1 a 2n O M M a n 1,n 10

令 G (D L) U ,则称G 为Gauss-Seidel 迭代矩阵 f (D L) b 由此可得 Gauss-Seidel 迭代的迭代格式如下: x (0) , 初始向量 第三步 SOR 迭代法 w0 AD L U 1 ( D 1 wL ((1 w)D wU )) (D 1 wL) ((1 w)D wU ) w w w 令M w 1 (D wL), N 1 ((1 w)D wU )则有:A MN w w Ax b AM L W N M (M N )x b Mx Nx b x M Nx M b N M, 令W f Mb 带入 N 的值可有 L W ((1 w)D wU) (D wL) 1((1 w)D wU) (D wL) f 1 b w 1(D wL) 1b 1 (D wL) w 称 L W 为 SOR 迭代矩阵,由此可得 SOR 迭代的迭代格式如下: x (0) ,初始向量 二、算法程序 Jacobi 迭代法的 M 文件: function [y,n]=Jacobi(A,b,x0,eps) %************************************************* %函数名称 Jacobi 雅克比迭代函数 %参数解释 A 系数矩阵 % b 常数项 % x0 估计解向量 x (k 1) Gx (k) f ,k 0,1,2,L (k 1) f,k 0,1,2,L

实验五 线性方程组的迭代法实验

《计算方法》实验报告 学院:信息学院 专业:计算机科学与技术 指导教师:郭卫斌 班级学号:10101438 计102 姓名:闻翰 计算机科学与工程系

实验五 线性方程组的迭代法实验 一. 实验目的 (1)深入理解线性方程组的迭代法的设计思想,学会利用系数矩阵的性质以保证迭 代过程的收敛性,以及解决某些实际的线性方程组求解问题。 (2)熟悉Matlab 编程环境,利用Matlab 解决具体的方程求根问题。 二. 实验要求 建立Jacobi 迭代公式、Gauss-Seidel 迭代公式和超松弛迭代公式,用Matlab 软件实现线性方程组求解的Jacobi 迭代法、Gauss-Seidel 迭代法和超松弛迭代法,并用实例在计算机上计算。 三. 实验内容 1. 实验题目 (1)分别利用Jacobi 迭代和Gauss-Seidel 迭代求解下列线性方程组,取 ()T 0,0,0,0,0,0=x ,要求精度5 10-=ε: ?????????? ? ?????????=????????????????????????????????????????---------------62605041 1 141010014001100410010141001014654321x x x x x x (2)分别取1=ω、1.05、1.1、1.25和1.8,用超松弛法求解上面的方程组,要求精度 为510-=ε。 2. 设计思想 1.Jacobi 迭代: Jacobi 迭代的设计思想是将所给线性方程组逐步对角化,将一般形式的线性方程组的求解归结为对角方程组求解过程的重复。 2.Gauss-Seidel 迭代: Gauss-Seidel 迭代的设计思想是将一般形式的线性方程组的求解过程归结为下三角方程组求解过程的重复。 3.超松弛迭代: 基于Gauss-Seidel 迭代,对i=1,2,…反复执行计算迭代公式,即为超松弛迭代。 3. 对应程序 1.Jacobi 迭代: function [x,k]=Jacobimethod(A,b,x0,N,emg) %A 是线性方程组的左端矩阵,b 是右端向量,x0是迭代初始值

实验五解线性方程组的迭代法报告

实验五 解线性方程组的迭代法 一、问题提出 对实验四所列目的和意义的线性方程组,试分别选用Jacobi 迭代法,Gauss-Seidel 迭代法和SOR 方法计算其解。 二、要求 1、体会迭代法求解线性方程组,并能与消去法做以比较; 2、分别对不同精度要求,如345 10,10,10ε---=由迭代次数体会该迭代法的收敛快慢; 3、对方程组2,3使用SOR 方法时,选取松弛因子ω=0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者; 4、给出各种算法的设计程序和计算结果。 三、目的和意义 1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较; 2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序; 3、体会上机计算时,终止步骤(1)k k x x ε+∞-<或k >(给予的迭代次数) ,对迭代法敛散性的意义; 4、 体会初始解0x ,松弛因子的选取,对计算结果的影响。 四、实验学时:2学时 五、实验步骤: 1.进入C 或matlab 开发环境; 2.根据实验容和要求编写程序; 3.调试程序; 4.运行程序; 5.撰写报告,讨论分析实验结果.

解: J迭代算法: 程序设计流程图: 源程序代码: #include #include #include void main() { float a[50][51],x1[50],x2[50],temp=0,fnum=0; int i,j,m,n,e,bk=0; printf("使用Jacobi迭代法求解方程组:\n"); printf("输入方程组的元:\nn="); scanf("%d",&n); for(i=1;i

相关主题
文本预览
相关文档 最新文档