版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1章章 MATLAB简介简介1.1 MATLAB的基本功能的基本功能MATLAB 是英文是英文“Matrix Laboratory” 的缩写,该的缩写,该软件集计算、绘图和仿真于一身,其基本功能可以概括为软件集计算、绘图和仿真于一身,其基本功能可以概括为下列下列4个方面:(个方面:(1)数值计算()数值计算(2)符号运算()符号运算(3)数据可)数据可视化(视化(4)建模仿真)建模仿真1电子信息工程学院11.2.2 MATLAB系统的退出系统的退出在在MATLAB界面下退出的途径有:界面下退出的途径有:(1)单击)单击MATLAB界面右上角最右侧的关闭界面右上角最右侧的关闭图标。图标。(2
2、)在指令窗中键入)在指令窗中键入exit或或quit指令后回车;指令后回车;(3)依次单击菜单【)依次单击菜单【File】【ExitMATLAB】即可。】即可。(4)ctrl+Q (5)Alt+f4221.3.2 功能键的使用:功能键的使用:; ; ; Page Up ; Page Down;Ctrl+C; Home; End ; Esc;Backspace;Delete ;Ctrl +K? 1.3.3 在线查询方法在线查询方法MATLAB中常用的查询方法有两种:中常用的查询方法有两种:指令法指令法和和菜单法菜单法。help 标识符;标识符;lookfor 关键词;关键词;type M-文件名
3、;文件名;who;whos ;what;dir;ver;path;which M-文件名;文件名;cd331.3.4 数据变量的删除、存储与调出数据变量的删除、存储与调出(1)删除类指令)删除类指令clc;clf;clear(2)存储与调出指令)存储与调出指令save-该指令可将该指令可将workspace中的变量存中的变量存入磁盘,以便重新开机后调出使用。入磁盘,以便重新开机后调出使用。load-该指令可将磁盘中的变量调到该指令可将磁盘中的变量调到workspace中,以便在指令窗中调用。中,以便在指令窗中调用。442.0.1标识符标识符一串符号的组合叫字符串一串符号的组合叫字符串在在MAT
4、LAB语言中,把标志变量、常语言中,把标志变量、常量或文件名称的量或文件名称的字符串字符串称为标识符。称为标识符。标识符由标识符由字母字母、数字数字和和下划线下划线组成,且组成,且它的第一个符号必须得用英文字母。它的第一个符号必须得用英文字母。“fun_01” 、“x03”“8ty”、“f(x)” 、“k-q”、“文文_01”5电子信息工程学院电子信息工程学院52.0.2 MATLAB中的数据及变量类型中的数据及变量类型1.三种数据类型三种数据类型数值型数据数值型数据,简称数值,简称数值字符串型数据字符串型数据,简称字符量,简称字符量符号型数据符号型数据,简称符号量,简称符号量sym(数字、字
5、符串、字符变量名、字符表达式数字、字符串、字符变量名、字符表达式 )syms a1 a2 a3在指令窗中键入在指令窗中键入class(a),回车即可得知已,回车即可得知已有变量有变量a是哪种类型的数据。是哪种类型的数据。662.1.1 永久性数值变量名永久性数值变量名系统事先定义了的系统事先定义了的“数值变量名数值变量名” ,系统一旦启动它们就已存在,而且总是代系统一旦启动它们就已存在,而且总是代表着固定的数值。表着固定的数值。pi eps ansINF或或Infi、j NaN772.1.2 数值矩阵的创建数值矩阵的创建1. 直接输入元素直接输入元素创建数值矩阵的直接方法创建数值矩阵的直接方法
6、 元素置于元素置于“ ” 内;内; 元素分隔符和间隔符的使用;元素分隔符和间隔符的使用; 续行号的使用;续行号的使用; 矩阵元素组成;矩阵元素组成; 数据显示;数据显示; 指令间隔;指令间隔; 回车回车“执行执行” 。882. 创建特殊数值矩阵的指令输入法创建特殊数值矩阵的指令输入法对于某些特殊矩阵,对于某些特殊矩阵,MATLAB中设有中设有直接创建的专用指令,这给它们的创建、直接创建的专用指令,这给它们的创建、运算,特别是给编程带来很多方便。运算,特别是给编程带来很多方便。zeros(n) zeros(m,n) ones(n) ones(m,n) eye(n) rand(n) rand(m,
7、n) randn(n) randn(m,n) magic(n) diag(a,k) tril(a)triu(a) 9电子信息工程学院电子信息工程学院93. 变换矩阵结构的指令变换矩阵结构的指令flipud (A) 上下上下fliplr (A) 左右左右rot90(A,k) 逆转逆转K个个90rot90(A) 逆转逆转90 reshape (A,m,n) 重排重排10104. 一些特殊向量(行矩阵)的创建一些特殊向量(行矩阵)的创建1)等差数列型向量的创建)等差数列型向量的创建增量输入法:增量输入法:t=a : h : b t=a : h : bt=(a : h : b)指令输入法:指令输入法:
8、t=linspace(a, b, n) 增量输入法与指令输入法的关系增量输入法与指令输入法的关系当当(b-a)可被可被h整除时,设整除时,设t=(a:h:b)=linspace(a,b,n),则则h=(b-a)/(n-1) 或或 n=(b-a)/h+1。1111等比数列型向量的创建等比数列型向量的创建q=logspace(log10(a), log10(b), n)q=logspace(as, bf, n). 创建创建n个分量都等于个分量都等于1的向量的向量?ones(1,n) linspace(1, 1, n) logspace(0, 0, n)6. 常数变量的赋值常数变量的赋值一个常数可以
9、看作一行一列的矩阵,也可以一个常数可以看作一行一列的矩阵,也可以看作是点向量,它的赋值可以有看作是点向量,它的赋值可以有 3种方法。种方法。12122.1.3 数值矩阵元素的标识与修改数值矩阵元素的标识与修改1. 矩阵元素的标识方法矩阵元素的标识方法1) a(p) “ 先列后行先列后行”,a(:)2) a(m, n) ,a(:, n) , a(m, :) 3) a(m, p, q, r) 4) a(p:q,n) 5) a(p,q,r, w,s) 举例举例1313例例2-11 把例把例2-9中矩阵中矩阵a增加一个第四行,增加一个第四行,其数值为其数值为3,6,9。例例2-12 使例使例2-11中
10、矩阵中矩阵a的第三行元素全的第三行元素全部消失。部消失。例例2-13把例把例2-12中矩阵中矩阵a的第二列改为的第二列改为 25 9,并增加一个第四列:,并增加一个第四列:0 5 7。14142.1.4 数值矩阵的矩阵算法数值矩阵的矩阵算法MATLAB对数值矩阵提供了两种不同对数值矩阵提供了两种不同的运算方法:的运算方法:矩阵算法矩阵算法和和数组算法数组算法。1. 数值矩阵维数的查验和矩阵的转置数值矩阵维数的查验和矩阵的转置r=1,行行1)查验矩阵维数指令:)查验矩阵维数指令:size(a)或或size(a,r)r=2,列列2)求矩阵共轭转置的指令)求矩阵共轭转置的指令:“ ” , A求矩阵共
11、轭的指令求矩阵共轭的指令: conj15152. 矩阵算法中的矩阵加、减和乘法运算矩阵算法中的矩阵加、减和乘法运算 “+” 、“-” 和和“*” ; 矩阵进行加、减运算时,它们的维数必矩阵进行加、减运算时,它们的维数必须相同,即行数、列数分别相等;须相同,即行数、列数分别相等; 两个矩阵相乘时,它们的内维数必须相两个矩阵相乘时,它们的内维数必须相等,即左矩阵的列数必须等于右矩阵的等,即左矩阵的列数必须等于右矩阵的行数,用行数,用a*b或指令或指令mtimes(a,b);1616 进行方阵进行方阵a的的n次幂次幂an运算时,输入运算时,输入an或或mpower(a,n):若整数若整数n0;若整数
12、若整数n0;若若n是非整数;是非整数; 在在MATLAB中赋予如下规定:若中赋予如下规定:若 a为矩阵,为矩阵,d为常数,作为常数,作ad的运算意义为的运算意义为ad=ad*ones(size(a)17173. 数值矩阵的求逆及矩阵算法中的除法数值矩阵的求逆及矩阵算法中的除法1)求方阵逆阵的指令)求方阵逆阵的指令inv 2)求矩阵伪逆阵的指令)求矩阵伪逆阵的指令pinv3)左除)左除 x=inv(a)*b或x=ab 或mldivide(a, b)4)右除)右除x=b*inv(a) 、x=b/a 或或mrdivide(b, a)18184. 矩阵函数矩阵函数定义域和值域都属于方阵的函数称为定义域
13、和值域都属于方阵的函数称为矩阵函数。矩阵函数。?k方阵函数方阵函数f(a)=?Ckak?0expm(a)logm(a)sqrtm(a)funm(a,f)19192.1.5 数值矩阵的数组算法数值矩阵的数组算法1. 查验向量维数的指令查验向量维数的指令length (a) 输入参数输入参数a为向量时,则输出向量为向量时,则输出向量a的维的维数;数; 输入参数输入参数a为列阵(或行阵)时,输出为列阵(或行阵)时,输出a的列(或行)数;的列(或行)数; 输入参数输入参数a是是mn阶矩阵时,则输出行阶矩阵时,则输出行数和列数的最大值:数和列数的最大值:max(m, n)=max(size(a)。202
14、02. 数值矩阵间数组算法的四则运算数值矩阵间数组算法的四则运算? 参与数组运算的参与数组运算的矩阵维数必须严格相同矩阵维数必须严格相同。? 数组算法的乘除运算与矩阵算法定义不同,使用的数组算法的乘除运算与矩阵算法定义不同,使用的符号也不同,数组算法的乘除符号是在矩阵算法乘符号也不同,数组算法的乘除符号是在矩阵算法乘除符号前面加一个除符号前面加一个小黑点小黑点。a.*b a.na./s s.a a./b b.a s./a a.s3.数值矩阵间数组乘法和矩阵乘法的差异数值矩阵间数组乘法和矩阵乘法的差异矩阵乘法不遵从交换律矩阵乘法不遵从交换律矩阵的数组乘法是遵从交换律的矩阵的数组乘法是遵从交换律的
15、2121向量的点积和叉积向量的点积和叉积?求向量的求向量的数量积数量积的指令的指令dot(a,b) ?求向量的求向量的向量积向量积的指令的指令cross(a, b)2.2.1 字符串变量和函数求值字符串变量和函数求值1. 字符串及其显示字符串及其显示1)字符串和字符串变量名)字符串和字符串变量名字符串字符串(也称字符串数据或字符量):(也称字符串数据或字符量):单引号界定单引号界定字符串变量名字符串变量名,简称字符名:,简称字符名:标识符标识符例如,键入例如,键入s1=hello 回车得出回车得出s1 = hello222)字符串的输出显示指令:)字符串的输出显示指令:(1)字符串或数据显示指
16、令)字符串或数据显示指令disp(ZS) (2)空字符(空格)输出显示指令)空字符(空格)输出显示指令blanks(n)(3)格式化数据显示指令)格式化数据显示指令sprintf (Z, S1, S2,)%e %f %d%g %m. nfn232.2.2 符号变量符号变量1. 符号变量和符号表达式的创建符号变量和符号表达式的创建符号量和符号表达式是通过专用指令符号量和符号表达式是通过专用指令syms 和和sym 来创建的,代表符号量的标来创建的,代表符号量的标识符称为符号变量名。识符称为符号变量名。1)用)用syms 创建符号量创建符号量syms a1 a2 a3 flag12)用)用sym创
17、建符号量、符号表达式创建符号量、符号表达式标识符标识符=sym (A, flag)syms a1等价于等价于a1=sym(a1)242.2.3 符号矩阵的创建方法符号矩阵的创建方法1. 直接创建法直接创建法2. 用用sym指令创建符号矩阵:指令创建符号矩阵:sym ( A )2.2.4 符号矩阵元素的标识和删改符号矩阵元素的标识和删改1. 元素的标识元素的标识2. 元素的替换修改:元素的替换修改:subs(B, old, new)252. 符号矩阵的求逆和除运算符号矩阵的求逆和除运算inv(B) symdiv(A,B) A/B例例2-39 计算例题计算例题2-38中矩阵中矩阵s1的逆阵和的逆阵
18、和s1被被s2除的结除的结果。果。. 符号矩阵的四则运算符号矩阵的四则运算symadd(A,B)/A+Bsymsub(A,B)/A-Bsymmul(A,B)/A*B262.2.6 符号矩阵运算中的几个特有指令的应用符号矩阵运算中的几个特有指令的应用1因式分解、展开、合并指令因式分解、展开、合并指令1)因式分解)因式分解 :factor(S) 2)代数式展开)代数式展开 :expand(S) 3) 同幂项系数合并同幂项系数合并 :collect(S,v) 272. 求函数极限和导数指令求函数极限和导数指令1)求函数极限指令)求函数极限指令limit(F,x,a,right 或或left)2)求导
19、函数指令)求导函数指令diff ( S, v, n )3. 级数求和级数求和 :symsum ( s, n, n0 , nk)一元函数的泰勒级数展开一元函数的泰勒级数展开taylor(f, n,v, a)282.3.2 二维图形的绘制二维图形的绘制1. 数据绘图指令数据绘图指令plot:?plot(X, S)?plot(X,Y, S)?plot(X1,Y1, S1, X2,Y2, S2, , Xn,Yn, Sn)2. 函数绘图指令函数绘图指令?解析函数绘图指令解析函数绘图指令 fplotfplot( fun, lims, S, tol )?隐函数绘图指令隐函数绘图指令ezplotezplot
20、( func, lims)29292.3.3 控制图形、画面的一些操作方法控制图形、画面的一些操作方法1. 保留图线指令保留图线指令hold2. 擦去画面上图线的指令擦去画面上图线的指令clf3. 加画坐标网格指令加画坐标网格指令grid4. 加注图名指令加注图名指令title( )5. 加注坐标轴名称指令加注坐标轴名称指令xlabel ( ), ylabel ( )6. 线型标注指令线型标注指令legend( , , k)7. 图形窗中菜单的应用图形窗中菜单的应用8. 复制图形方法复制图形方法30302.4 MATLAB语言编程语言编程2.4.1 MATLAB的编辑调试窗的编辑调试窗2.4.
21、2 两类两类M-文件文件1、M-指令文件(指令文件(script file)2、M-函数文件(函数文件(function file)function z=fun2_68(x,y)31312.4.3 关系和逻辑运算关系和逻辑运算1. 关系运算关系运算= = = = 2. 逻辑运算逻辑运算& | xor32322.4.5 两类两类M-文件的转换文件的转换2.4.6 编程中的一些控制指令编程中的一些控制指令1键盘输入指令键盘输入指令input2暂停运行指令暂停运行指令pause3人机切换指令人机切换指令keyboard4程序显示指令程序显示指令echo5中止循环指令中止循环指令break6.
22、 设置设置/取消程序中的断点取消程序中的断点3333第第3章章 误差和误差和MATLAB的计算精度的计算精度3.1 误差误差3.1.1 误差的来源误差的来源?模型误差模型误差?观测误差观测误差?截断误差截断误差?舍入误差舍入误差34343.1.2 有关误差的一些概念有关误差的一些概念1. 绝对误差和绝对误差限绝对误差和绝对误差限ae(x)=x*- x|ae(x)|=|x*-x|s2. 相对误差和相对误差限相对误差和相对误差限35353、有效数字、有效数字4、绝对误差、相对误差和有效数字的关系、绝对误差、相对误差和有效数字的关系1?(n?1)re(x) ?102d1re(x)?12(d1?1)?
23、10?(n?1)36363.2 MATLAB中的数值计算精度中的数值计算精度3.2.1 浮点数及其运算特点浮点数及其运算特点允许小数点浮动的表示数字方法,称为浮允许小数点浮动的表示数字方法,称为浮点表示法,这样的数称为浮点数。浮点数的一点表示法,这样的数称为浮点数。浮点数的一般表示形式为:般表示形式为:p?1p?t?x=(0.d1d2d3dt) =(d1 + d2 dt+ )?1) 为浮点数的基底,根据数的进制取值为浮点数的基底,根据数的进制取值 ;2)P为浮点表示的阶码为浮点表示的阶码;3) 0.d1d2d3dt称浮点数的尾数称浮点数的尾数;4)t是用正整数表示的计算机字长。是用正整数表示的
24、计算机字长。?237373.2.2 MATLAB3.2.2 MATLAB中的数值计算精度中的数值计算精度1. MATLAB1. MATLAB中的三种运算精度中的三种运算精度?数值算法数值算法:把每个数值都取:把每个数值都取1616位有效数字,位有效数字,是运算速度最快的一种算法;是运算速度最快的一种算法;符号算法符号算法:把每个数据都变换成符号量,可:把每个数据都变换成符号量,可得出精确结果,但占空间多、运算速度慢;得出精确结果,但占空间多、运算速度慢;vpa(a,m)vpa(a,m)?可控精度算法可控精度算法:用控制精度指令:用控制精度指令digits(n)digits(n)可使此后的运算均
25、以可使此后的运算均以 n n位有效数字进行,直到位有效数字进行,直到输入新的控制精度指令。输入新的控制精度指令。38383.3 设计算法的若干原则设计算法的若干原则3.3.1 算法的数值稳定性算法的数值稳定性3.3.2 设计算法的若干原则设计算法的若干原则?避免两个相近数的相减避免两个相近数的相减避免数据运算中数量级很小的数被避免数据运算中数量级很小的数被“吃掉吃掉”尽量减少算法中的运算次数尽量减少算法中的运算次数避免用绝对值过小的数作除数避免用绝对值过小的数作除数防止递推运算中误差积累的增大防止递推运算中误差积累的增大3939第四章第四章 求解非线性方程求解非线性方程f(x)=0f(x)=0
26、在科学技术中,许多问题常归结为一元函数方在科学技术中,许多问题常归结为一元函数方程程f(x)=0f(x)=0。方程按。方程按f(x)f(x)是多项式或超越函数分别称是多项式或超越函数分别称为代数方程或超越方程。为代数方程或超越方程。如果在区间如果在区间a,ba,b内只有方程内只有方程f(x)=0f(x)=0的一个根,的一个根,则称区间则称区间a,ba,b为隔根区间。为隔根区间。? 描图法描图法? 逐步搜索法逐步搜索法40404.1 求解求解f(x)=0的的MATLAB符号法符号法?solve (s1, s2,sn, v1, v2, vn)?solve (s1, s2,sn, v1,v2,vn)
27、?z1,z2,zn= solve (s1, s2, ,sn, v1, , vn)4.2 求方程求方程f(x)=0数值解的基本方法:数值解的基本方法:1 二分法二分法2 迭代法迭代法 3牛顿法牛顿法 4弦截法弦截法41电子信息工程学院电子信息工程学院414.2.1 求实根的二分法原理求实根的二分法原理零点存在定理零点存在定理:设方程:设方程 f(x) = 0中的函数中的函数 f(x) 为实函数,且满足:为实函数,且满足: 函数函数f(x)在在a,b上单调、连续;上单调、连续; f(a)、 f(b)异号异号则(则(a,b)内至少存在一点)内至少存在一点,使得,使得f(f()=0)=0。4242b?
28、 a2a? b243434.2.2 迭代法迭代法迭代法基本原理迭代法基本原理:把方程等价地变换成形式:把方程等价地变换成形式f(x)=x-g(x)=0 x=g(x) 若函数若函数g(x)连续,则称上式为迭代函数。用它构造出连续,则称上式为迭代函数。用它构造出迭代公式:迭代公式:xk+1=g(xk) , k=0,1,2, 从初始值从初始值x0出发,便可得出迭代序列出发,便可得出迭代序列 xk =x 0,x 1,x 2,x k, 如果上述迭代序列收敛,且收敛于如果上述迭代序列收敛,且收敛于 x*,则有:,则有:lim(g(x )-x)=(g(x*)-x*)=f(x*)=0 ,kk+1k? ?可见可
29、见x*便是方程便是方程 的根。的根。4444迭代公式收敛定理迭代公式收敛定理:方程方程x=g(x)x=g(x)在在(a,b)(a,b)内有根内有根x x* *,如果,如果(1 1)当)当xa,bxa,b 时,时,g(x)a,bg(x)a,b ;(2 2)g(x)g(x)可导,且存在正数可导,且存在正数q1q1,使得对于任意,使得对于任意g?(x)xa,bxa,b 都有都有 | |q1| |q1。则:则:* *(1) (1) 方程方程x=g(x)x=g(x)在在(a, b)(a, b)内有唯一的根内有唯一的根x x ;(2(2)迭代公式)迭代公式x xk+1k+1=g(x=g(xk k) )对对
30、(a, b)(a, b)内任意初始近内任意初始近似根似根x x0 0均收敛于均收敛于x x* *;(3 3)近似根)近似根x xk k的误差估计公式为:的误差估计公式为:k* *q| x| x -x-xk k| |x| |x1 1-x-x0 0| |1?q45454.2.3 牛顿法(切线法)牛顿法(切线法)切线法原理切线法原理 :把函数:把函数f(x)在某一初始值在某一初始值x0点附近展开点附近展开成泰勒级数,取其线性部分,近似地代替函数成泰勒级数,取其线性部分,近似地代替函数 f(x)可可得方程的近似式:得方程的近似式:f(x)f(x0)+(x-x0)f (x0)=0设设f (x0)0,解该
31、近似方程可得,解该近似方程可得把函数把函数f(x)在在x1点附近展开成泰勒级数,取其线性部点附近展开成泰勒级数,取其线性部分替代函数分替代函数f(x) 。如此继续作下去,就可以得到牛。如此继续作下去,就可以得到牛顿迭代公式顿迭代公式4646切线法的收敛性切线法的收敛性:牛顿迭代法局部收敛性定理(牛顿迭代法局部收敛性定理(P.92)。)。牛顿迭代法是平方收敛的。牛顿迭代法是平方收敛的。47474.2.4 弦截法(割线法)弦截法(割线法)应用切线法的牛顿迭代公式时,每次应用切线法的牛顿迭代公式时,每次都得计算导数都得计算导数f(xk),若将该导数用差商代,若将该导数用差商代替,就成为割线法(有时称
32、快速弦截法)替,就成为割线法(有时称快速弦截法)的迭代公式的迭代公式4848二分法二分法简单方便,但收敛速度慢;简单方便,但收敛速度慢;迭代法迭代法虽然收敛速度稍微快点,但需要判断虽然收敛速度稍微快点,但需要判断能否收敛;能否收敛;只要初值选取得当,只要初值选取得当,切线法切线法具有恒收敛且收具有恒收敛且收敛速度快的优点,但需要求出函数的导数;敛速度快的优点,但需要求出函数的导数;弦截法弦截法不需要求导数,特别是我们介绍的快不需要求导数,特别是我们介绍的快速弦截法,收敛速度很快,但是需要知道两速弦截法,收敛速度很快,但是需要知道两个近似的初始根值才能作出弦,要求的初始个近似的初始根值才能作出弦
33、,要求的初始条件较多。条件较多。49电子信息工程学院电子信息工程学院494.5 求方程组数值解的指令求方程组数值解的指令fsolve是用是用最小二乘法最小二乘法求解非线性方求解非线性方程组程组F(X)=0的指令,变量的指令,变量X可以是向量或可以是向量或矩阵矩阵,方程组可以由代数方程或者超越方程方程组可以由代数方程或者超越方程构成。它的使用格式为构成。它的使用格式为fsolve(fun, X0, OPTIONS)50501)在编辑调试窗中键入:)在编辑调试窗中键入: function yy3=li4_8(X)yy3(1)=3*X (1)-cos(X (2)* X (3)-0.5;yy3(2)=
34、2*X (1)2-81*(X (2)+0.1)2+sin(X (3)+1.06;yy3(3)=exp(-X (1)* X (2)+20*X (3)+10*pi/3-1;以以“li4_8” 为名存盘,退出编辑调试窗,回到指令窗。为名存盘,退出编辑调试窗,回到指令窗。2)在指令窗中键入)在指令窗中键入: fsolve(li4_8,0.1 0.1 -0.1) 回车得到回车得到ans =0.5000 0.0144 -0.5232这是方程组的最小二乘解,用符号指令这是方程组的最小二乘解,用符号指令 solve无法得出无法得出最终结果。最终结果。5151线性代数方程组解的性质线性代数方程组解的性质ASb解
35、的判别及其结构解的判别及其结构Ax=0:有非零解有非零解系数矩阵的秩系数矩阵的秩R(A)n。若若R(A)=n,则方程组只有零解。,则方程组只有零解。Ax=b:分三种类型:分三种类型:当当R(A)=R(B)=n时,称方程组为时,称方程组为恰定方程组恰定方程组,这时它有唯,这时它有唯一解向量;一解向量;当当R(A)=R(B)n时,称方程组为时,称方程组为欠定方程组欠定方程组,这时它有无,这时它有无穷多解向量;穷多解向量;当当R(A)R(B)时,称方程组为时,称方程组为超定方程组超定方程组或或矛盾方程组矛盾方程组,即,即保留方程个保留方程个数大于未知量个数,一般意义下无解,但可求出其最小二数大于未知
36、量个数,一般意义下无解,但可求出其最小二52乘解。乘解。52525.2 恰定线性代数方程组求解克莱姆法则克莱姆法则对于恰定方程组对于恰定方程组Ax=b,即满足,即满足R(A)=R(B)=n 的方的方程组求解,可用克莱姆(程组求解,可用克莱姆(Cramer)法则得出唯一解。)法则得出唯一解。xk?kdetA利用利用Cramer法则求解所需乘除运算量为:法则求解所需乘除运算量为:N=(n+1)!(n-1)+n=n!(n2-1)+n535353如果令如果令 P= Pn-1Pn-2P1,方程组的,方程组的矩阵形式为矩阵形式为PAx=Pb高斯消去法的高斯消去法的实质实质就是就是通过初等变通过初等变换把待
37、求方程组的系数矩阵换把待求方程组的系数矩阵A变换成三角变换成三角矩阵矩阵,也叫,也叫使矩阵使矩阵A三角化三角化。因此,研究。因此,研究如何使矩阵三角化对于求出线性方程组如何使矩阵三角化对于求出线性方程组的解是很有帮助的。根据矩阵性质和需的解是很有帮助的。根据矩阵性质和需求的不同,产生出多种矩阵三角化的方求的不同,产生出多种矩阵三角化的方法。法。545454二、求解非齐次线性方程组的二、求解非齐次线性方程组的MATLABMATLAB方法方法1. 恰定方程组恰定方程组条件:条件:rank(A)=rank(B)=r=n,指令:指令:1)逆矩阵:)逆矩阵:x=inv(A)*b;2)左除法:)左除法:x
38、=Ab;3)符号矩阵:)符号矩阵:x=sym(A) sym(b)。5555552.欠定方程组(不定方程组)欠定方程组(不定方程组)条件:条件:R(A)=R(B)=rn时时指令:指令:它的通解由与其对应的齐次方它的通解由与其对应的齐次方程程Ax=0的通解和的通解和Ax=b 的一个特解构的一个特解构成。成。求求Ax=0的通解用的通解用null指令,指令,求求Ax=b的一个特解用矩阵除法。的一个特解用矩阵除法。5656563.超定方程组超定方程组条件:条件:R(A)R(B)=R(A b) 指令:指令:左除左除Ab 方法求出它的最小方法求出它的最小二乘解二乘解由于超定方程组没有精确解,由于超定方程组没
39、有精确解,所以不能用符号矩阵除法来求解所以不能用符号矩阵除法来求解超定方程组。超定方程组。575757三、矩阵分解指令矩阵分解指令1.方阵的三角分解指令方阵的三角分解指令luL, U=lu(A)L, U, P=lu(A)2. 方阵的乔累斯基(方阵的乔累斯基(Cholesky)分解)分解指令指令cholchol(A) 5858585.5 求解线性代数方程组的迭代法1 1、迭代法的基本原理、迭代法的基本原理如果线性方程组如果线性方程组Ax=b的系数矩阵的系数矩阵A非奇异,非奇异,则方程组有唯一解。把这种方程中的方阵则方程组有唯一解。把这种方程中的方阵 A分解分解成两个矩阵之差:成两个矩阵之差:A=
40、C-D若方阵若方阵C是非奇异的,把是非奇异的,把A它代入方程它代入方程Ax=b中,中,得出得出 (C-D)x=b,两边左乘,两边左乘C-1,并令,并令 M=C-1D,g= C-1b,移项可将方程,移项可将方程Ax=b变换成:变换成:x=Mx+g据此便可构造出迭代公式:据此便可构造出迭代公式:xk+1=Mxk+g,M=C-1D称为迭代矩阵。称为迭代矩阵。595959向量范数向量范数非负性:非负性:|x|0齐次性:齐次性:|ax|=|a|x|;三角不等式:三角不等式:|x|+|y|x+y|。606060矩阵范数矩阵范数如果满足如果满足范数三条件范数三条件,同时满足矩阵乘法,同时满足矩阵乘法相容性相
41、容性(次乘性次乘性):):|A|B|AB|6161615.6 方阵特征值和特征向量的计算解多项式方程解多项式方程1. 方阵特征方程的求解方阵特征方程的求解Ax=xdet(A?E) ? 0迭代法迭代法2.计算特征值和特征向量的迭代法计算特征值和特征向量的迭代法-1T1. 雅可比法:雅可比法:P AP=P AP=2. QR算法:算法: A=QR (QTQ=E)6262625.7 矩阵一些特征参数的MATLAB求算求方阵行列式的指令求方阵行列式的指令 det:det (A)求方阵特征多项式的指令求方阵特征多项式的指令 poly:P=poly (A)roots(P)poly2str(P,y)求方阵特征
42、值和特征向量指令求方阵特征值和特征向量指令 eig: x r=eig (A);eig (A)矩阵的正交三角分解指令矩阵的正交三角分解指令 qr:q r=qr(a); q r p=qr(a)计算范数指令计算范数指令norm: norm(A, ex)矩阵谱半径的计算:矩阵谱半径的计算: max(abs(eig(M)6363632 三次样条插值的基本原理三次样条插值的基本原理三次样条插值也是一种分段插值方法,用分段三次样条插值也是一种分段插值方法,用分段的三次多项式构造成一个整体上具有函数、一阶和的三次多项式构造成一个整体上具有函数、一阶和二阶导函数连续的函数,近似地替代已知函数二阶导函数连续的函数
43、,近似地替代已知函数 F(x)。假设已知函数假设已知函数F(x)在区间在区间a,b上的(上的(n+1)个)个节点节点a=x0 x1xn-1xn=b及其对应的函数值及其对应的函数值F(xi)=yi,即给出(,即给出(n+1)组样本点数据)组样本点数据(x0, y0),(x1, y1),(xn, yn),可以构造一个定义在,可以构造一个定义在 a,b上的函数上的函数S(x),满足下述条件:,满足下述条件:S?(x)S? ?(x)S(xi)=yi ;S(x)在每个小区间在每个小区间xi,xi+1 上都是一个三次多项式上都是一个三次多项式6464646.4 数据的曲线拟合数据拟合法数据拟合法:不要求构
44、造的近似函数:不要求构造的近似函数 (x)全部通过全部通过样本点,而是样本点,而是“很好逼近很好逼近”它们。它们。数据曲线拟合的数据曲线拟合的最小二乘法最小二乘法 :要求在所有:要求在所有n个样本个样本点点xj(j=1,n)处,多项式取值与函数值)处,多项式取值与函数值 yj偏差的偏差的22平方平方rj= (Pm(xj)-yj) 之和达到最小。之和达到最小。6565656.5 多项式运算在MATLAB中的实现1. 多项式的向量表示法多项式的向量表示法p(x)=3x4+5x3-7x+9 p=3,5,0,-7,9 。2. 多项式转换指令多项式转换指令 poly2str(p,t)3. 特殊多项式的创
45、建特殊多项式的创建 p1= poly(p) 4.多项式加减多项式加减5.多项式乘法多项式乘法 conv(p1, p2)6.多项式除法多项式除法 q, r=deconv(p, w)7.多项式求导多项式求导 k=polyder(p) 8.多项式求值多项式求值 polyval (p, x0)6666666.6 曲线拟合在MATLAB中的实现1、数据的多项式曲线拟合、数据的多项式曲线拟合用代数多项式拟合数据的指令是用代数多项式拟合数据的指令是polyfit,p=polyfit(x, y, m)2、任意函数的多项式拟合、任意函数的多项式拟合3、数据拟合成指数函数等常用函数、数据拟合成指数函数等常用函数6
46、76767第7章数值积分? F(b) ? F (a)? Newton-Leibniz :?f (x)dxab7.1 计算积分的计算积分的MATLAB符号法符号法s=int( fun, v, a, b )? fun是被积函数的符号表达式是被积函数的符号表达式? v是积分变量是积分变量? a、b为定积分的积分限为定积分的积分限? 输出参量输出参量s为积分结果为积分结果687.2 Newton-Cotes求积公式数值积分原则上可以用于计算各种被数值积分原则上可以用于计算各种被积函数的定积分,其基本原理都是用多项积函数的定积分,其基本原理都是用多项式函数近似代替被积函数,用对多项式的式函数近似代替被积
47、函数,用对多项式的积分结果近似代替对被积函数的积分。积分结果近似代替对被积函数的积分。牛顿牛顿-柯特斯求积公式,就是用多项式柯特斯求积公式,就是用多项式函数函数Pn(x)近似地代替被积函数近似地代替被积函数f(x),用对,用对Pn(x)的积分代替对的积分代替对f(x)的积分推出的一种的积分推出的一种数值积分方法(插值型数值积分方法)。数值积分方法(插值型数值积分方法)。6969691 牛顿牛顿柯特斯求积公式推导柯特斯求积公式推导?(x)?(x)Pn(x) ?f(xi) ?yii?0(x ? xi)?(xi)i?0(x? xi)?(xi)?(x)? (x-x0)(x-x1)? (x-xn) nn
48、?baf ( x)dx ?baPn(x)dx?(xi) ? (xi-x0)? (xi-xi-1)(xi-xi?1)? (xi-xn) Ki?ba?( x)dx( x ? xi)?( xi)707070717171727272柯特斯求积系数具有的特性:柯特斯求积系数具有的特性:a、跟被积函数、积分区间无关,只跟代替、跟被积函数、积分区间无关,只跟代替被积函数的多项式次数被积函数的多项式次数n有关;有关;(n)cib、在、在定义式中作代换定义式中作代换t=n-i后其值不后其值不(n)(n)cn?ici变,所以它具有对称性,即变,所以它具有对称性,即= 。c?c、=1。将。将f(x)1代入代入NC求
49、积公式求积公式(n)ci便可得出该性质,将表便可得出该性质,将表8-1里一行中的里一行中的取值相加,也可以验证该性质;取值相加,也可以验证该性质;D、一般都采用次数较低的插值多项式逼、一般都采用次数较低的插值多项式逼近被积函数,通常近被积函数,通常n的取值不得大于的取值不得大于8。n(n)ii?07373732 牛顿牛顿柯特斯求积公式的误差估计柯特斯求积公式的误差估计a. 牛顿牛顿柯特斯求积公式的截断误差柯特斯求积公式的截断误差747474b. 牛顿牛顿柯特斯求积公式的柯特斯求积公式的代数精度代数精度如果被积函数如果被积函数f(x)为任意为任意一个次数不高于一个次数不高于n次的多次的多项式时,数值求积公式项式时,数值求积公式一般形式的截断误差一般形式的截断误差R(f)=0;而当它是(;而当它是(n+1)次多项式时,次多项式时,R(f)0,则,则说数值求积公式具有说数值求积公式具有n次次代数精度。代数精度。当当n为奇数时,牛顿为奇数时,牛顿柯特斯求积公式的代数精度为柯特斯求积公式的代数精度为n;当当n为偶数时,牛顿为偶数时,牛顿柯特斯求积公式的代数精度为柯特斯求积公式的代数精度为n+1。7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险科技行业创新模式与市场前景
- 2026年海域使用权分割转让收回续期注销制度建设
- 电力数字孪生解决方案
- 2026年工业领域大规模设备更新实施方案编制指南
- 2026年保障AI教育资源普惠共享让偏远地区享受同等数字阳光
- 母婴护理中的服务流程优化
- 2026年反渗透膜元件国产化进展与性能对比测试
- 电信行业云计算方案
- 高强度螺栓连接施工作业指导书
- 美容护理中的营养学基础
- 管理会计学 第10版 课件 第8、9章 成本管理:目标、责任与标准;作业成本计算法
- 病案编码培训课件
- SAA-SAA联合CRP检测的临床意义及应用
- 湘教版地理七年级上册《世界的气候》作业设计
- “中邮网院理财证考试”模拟题
- 《群书治要》原文及解读
- 《中建集团人才流失问题及对策分析案例【论文13000字】》
- 2019年春季新版教材教科版五年级下册综合实践活动教案
- 开关电源及其软开关技术
- 心肌细胞动作电位与心电图的关系
- 模板学困生转化讲座课件02
评论
0/150
提交评论