版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子信息工程学院1第1章MATLAB介绍1.1MATLAB基本功效MATLAB是英文“MatrixLaboratory”缩写,该软件集计算、绘图和仿真于一身,其基本功效能够概括为以下4个方面:(1)数值计算(2)符号运算(3)数据可视化(4)建模仿真1/90电子信息工程学院21.2.2MATLAB系统退出在MATLAB界面下退出路径有:(1)单击MATLAB界面右上角最右侧关闭图标×。(2)在指令窗中键入exit或quit指令后回车;(3)依次单击菜单【File】→【ExitMATLAB】即可。(4)ctrl+Q(5)Alt+f42/90电子信息工程学院31.3.2功效键使用:↑;↓;←;→;PageUp;PageDown;Ctrl+C;Home;End;Esc;Backspace;Delete;Ctrl+K1.3.3在线查询方法MATLAB中惯用查询方法有两种:指令法和菜单法。help标识符;lookfor关键词;typeM-文件名;who;whos;what;dir;ver;path;whichM-文件名;cd3/90电子信息工程学院41.3.4数据变量删除、存放与调出(1)删除类指令clc;clf;clear(2)存放与调出指令save该指令可将workspace中变量存入磁盘,方便重新开机后调出使用。load该指令可将磁盘中变量调到workspace中,方便在指令窗中调用。4/90电子信息工程学院52.0.1标识符在MATLAB语言中,把标志变量、常量或文件名称字符串称为标识符。一串符号组合叫字符串
标识符由字母、数字和下划线组成,且它第一个符号必须得用英文字母。“fun_01”、“x03”“8ty”、“f(x)”、“k-q”、“文_01”5/90电子信息工程学院62.0.2MATLAB中数据及变量类型1.三种数据类型数值型数据,简称数值字符串型数据,简称字符量符号型数据,简称符号量sym(数字、字符串、字符变量名、字符表示式)symsa1a2a3在指令窗中键入class(a),回车即可得知已经有变量a是哪种类型数据。6/90电子信息工程学院72.1.1永久性数值变量名系统事先定义了“数值变量名”,系统一旦开启它们就已存在,而且总是代表着固定数值。piepsansINF或Infi、jNaN7/90电子信息工程学院82.1.2数值矩阵创建1.直接输入元素—创建数值矩阵直接方法元素置于“[]”内;元素分隔符和间隔符使用;续行号使用;矩阵元素组成;数据显示;指令间隔;回车“执行”。8/90电子信息工程学院92.创建特殊数值矩阵指令输入法对于一些特殊矩阵,MATLAB中设有直接创建专用指令,这给它们创建、运算,尤其是给编程带来很多方便。zeros(n)zeros(m,n)ones(n)ones(m,n)eye(n)rand(n)rand(m,n)randn(n)randn(m,n)magic(n)diag(a,k)tril(a)triu(a)9/90电子信息工程学院103.变换矩阵结构指令flipud(A)上下fliplr(A)左右rot90(A,k)逆转K个90rot90(A)逆转90
reshape(A,m,n)重排10/90电子信息工程学院114.一些特殊向量(行矩阵)创建1)等差数列型向量创建增量输入法:t=a:h:bt=[a:h:b]t=(a:h:b)指令输入法: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。11/90电子信息工程学院12等比数列型向量创建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.常数变量赋值一个常数能够看作一行一列矩阵,也能够看作是点向量,它赋值能够有3种方法。12/90电子信息工程学院132.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])举例13/90电子信息工程学院14例2-11把例2-9中矩阵a增加一个第四行,其数值为3,6,9。例2-12使例2-11中矩阵a第三行元素全部消失。例2-13把例2-12中矩阵a第二列改为259,并增加一个第四列:057。14/90电子信息工程学院152.1.4数值矩阵矩阵算法MATLAB对数值矩阵提供了两种不一样运算方法:矩阵算法和数组算法。1.数值矩阵维数查验和矩阵转置1)查验矩阵维数指令:size(a)或size(a,r)2)求矩阵共轭转置指令:“’”,A’求矩阵共轭指令:conj
r=1,行r=2,列15/90电子信息工程学院162.矩阵算法中矩阵加、减和乘法运算“+”、“-”和“*”;矩阵进行加、减运算时,它们维数必须相同,即行数、列数分别相等;两个矩阵相乘时,它们内维数必须相等,即左矩阵列数必须等于右矩阵行数,用a*b或指令mtimes(a,b);16/90电子信息工程学院1717进行方阵an次幂an运算时,输入a^n或mpower(a,n): 若整数n>0; 若整数n<0; 若n是非整数;在MATLAB中赋予以下要求:若a为矩阵,d为常数,作a±d运算意义为 a±d=a±d*ones(size(a))17/90电子信息工程学院18183.数值矩阵求逆及矩阵算法中除法1)求方阵逆阵指令inv2)求矩阵伪逆阵指令pinv3)左除
x=inv(a)*b或x=a\b或mldivide(a,b)4)右除x=b*inv(a)、x=b/a或mrdivide(b,a)18/90电子信息工程学院19194.矩阵函数定义域和值域都属于方阵函数称为矩阵函数。方阵函数f(a)=
expm(a)logm(a)sqrtm(a)funm(a,@f)
19/90电子信息工程学院20202.1.5数值矩阵数组算法1.查验向量维数指令length(a)输入参数a为向量时,则输出向量a维数;输入参数a为列阵(或行阵)时,输出a列(或行)数;输入参数a是m×n阶矩阵时,则输出行数和列数最大值:
max(m,n)=max(size(a))。20/90电子信息工程学院21212.数值矩阵间数组算法四则运算参加数组运算矩阵维数必须严格相同。数组算法乘除运算与矩阵算法定义不一样,使用符号也不一样,数组算法乘除符号是在矩阵算法乘除符号前面加一个小黑点。 a.*ba.^na./ss.\a a./bb.\as./aa.\s
3.数值矩阵间数组乘法和矩阵乘法差异矩阵乘法不遵从交换律矩阵数组乘法是遵从交换律21/90向量点积和叉积求向量数量积指令dot(a,b)求向量向量积指令cross(a,b)2.2.1字符串变量和函数求值1.字符串及其显示1)字符串和字符串变量名字符串(也称字符串数据或字符量):单引号界定
字符串变量名,简称字符名:标识符比如,键入s1='hello'回车得出 s1=hello22/902)字符串输出显示指令:(1)字符串或数据显示指令disp(ZS)(2)空字符(空格)输出显示指令blanks(n)(3)格式化数据显示指令sprintf('Z',S1,S2,…) %e%f%d %g%m.nf\n23/902.2.2
符号变量1.符号变量和符号表示式创建符号量和符号表示式是经过专用指令syms和sym来创建,代表符号量标识符称为符号变量名。1)用syms创建符号量symsa1a2a3……flag12)用sym创建符号量、符号表示式标识符=sym(A,flag)symsa1等价于a1=sym(‘a1’)24/902.2.3符号矩阵创建方法1.直接创建法2.用sym指令创建符号矩阵:sym(A)2.2.4符号矩阵元素标识和删改1.元素标识2.元素替换修改:subs(B,old,new)25/902.符号矩阵求逆和除运算inv(B)symdiv(A,B)A/B例2-39计算例题2-38中矩阵s1逆阵和s1被s2除结果。.符号矩阵四则运算symadd(A,B)/A+Bsymsub(A,B)/A-Bsymmul(A,B)/A*B26/902.2.6符号矩阵运算中几个特有指令应用1.因式分解、展开、合并指令1)因式分解:factor(S)2)代数式展开:expand(S)3)同幂项系数合并:collect(S,'v')27/902.求函数极限和导数指令1)求函数极限指令limit(F,x,a,‘right’或‘left’)2)求导函数指令diff(S,'v',n)3.级数求和:symsum(s,n,n0,nk)一元函数泰勒级数展开taylor(f,n,'v',a)28/90电子信息工程学院292.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('func',lims)29/90302.3.3控制图形、画面一些操作方法1.保留图线指令hold2.擦去画面上图线指令clf3.加画坐标网格指令grid4.加注图名指令title('')5.加注坐标轴名称指令xlabel(''),ylabel('')6.线型标注指令legend('','',…,k)7.图形窗中菜单应用8.复制图形方法电子信息工程学院30/90312.4MATLAB语言编程2.4.1MATLAB编辑调试窗2.4.2两类M-文件1、M-指令文件(scriptfile)2、M-函数文件(functionfile)functionz=fun2_68(x,y)
电子信息工程学院31/90322.4.3关系和逻辑运算关系运算==<>~=<=>=2.逻辑运算
&~|xor电子信息工程学院32/90332.4.5两类M-文件转换2.4.6编程中一些控制指令1.键盘输入指令input2.暂停运行指令pause3.人机切换指令keyboard4.程序显示指令echo5.中止循环指令break6.设置/取消程序中断点电子信息工程学院33/90电子信息工程学院34第3章误差和MATLAB计算精度3.1误差3.1.1误差起源模型误差观察误差截断误差舍入误差34/90电子信息工程学院353.1.2相关误差一些概念1.绝对误差和绝对误差限ae(x)=x*-x
|ae(x)|=|x*-x|≤s
2.相对误差和相对误差限35/90电子信息工程学院363、有效数字※4、绝对误差、相对误差和有效数字关系36/90电子信息工程学院373.2MATLAB中数值计算精度3.2.1浮点数及其运算特点允许小数点浮动表示数字方法,称为浮点表示法,这么数称为浮点数。浮点数普通表示形式为:x=±(0.d1d2d3…dt)=±(d1+d2+…+)1)为浮点数基底,依据数进制取值;2)P为浮点表示阶码;3)0.d1d2d3…dt称浮点数尾数;4)t是用正整数表示计算机字长。37/90电子信息工程学院383.2.2MATLAB中数值计算精度1.MATLAB中三种运算精度数值算法:把每个数值都取16位有效数字,是运算速度最快一个算法;符号算法:把每个数据都变换成符号量,可得出准确结果,但占空间多、运算速度慢;vpa(a,m)
可控精度算法:用控制精度指令digits(n)可使今后运算均以n位有效数字进行,直到输入新控制精度指令。38/90电子信息工程学院393.3设计算法若干标准3.3.1算法数值稳定性3.3.2设计算法若干标准防止两个相近数相减防止数据运算中数量级很小数被“吃掉”尽可能降低算法中运算次数防止用绝对值过小数作除数预防递推运算中误差积累增大39/90电子信息工程学院40第四章求解非线性方程f(x)=0在科学技术中,许多问题常归结为一元函数方程f(x)=0。方程按f(x)是多项式或超越函数分别称为代数方程或超越方程。假如在区间[a,b]内只有方程f(x)=0一个根,则称区间[a,b]为隔根区间。描图法逐步搜索法40/90电子信息工程学院414.1求解f(x)=0MATLAB符号法solve(s1,s2,…,sn,'v1','v2',…,'vn')solve(s1,s2,…,sn,'v1,v2,…,vn')[z1,z2,…,zn]=solve(s1,s2,…,sn,'v1',…,'vn')4.2求方程f(x)=0数值解基本方法:
1二分法2迭代法3牛顿法4弦截法41/90电子信息工程学院424.2.1求实根二分法原理零点存在定理:设方程f(x)=0中函数f(x)为实函数,且满足:①函数f(x)在[a,b]上单调、连续;②f(a)、f(b)异号则(a,b)内最少存在一点ζ,使得f(ζ)=0。42/90电子信息工程学院4343/90电子信息工程学院444.2.2迭代法迭代法基本原理:把方程等价地变换成形式f(x)=x-g(x)=0x=g(x)若函数g(x)连续,则称上式为迭代函数。用它结构出迭代公式:xk+1=g(xk),k=0,1,2,……从初始值x0出发,便可得出迭代序列{xk}=x0,x1,x2,…,xk,…假如上述迭代序列收敛,且收敛于x*,则有:(g(xk)-xk+1)=(g(x*)-x*)=f(x*)=0,可见x*便是方程根。44/90电子信息工程学院45迭代公式收敛定理:方程x=g(x)在(a,b)内有根x*,假如(1)当x∈[a,b]时,g(x)∈[a,b];(2)g(x)可导,且存在正数q<1,使得对于任意x∈[a,b]都有||≤q<1。则:(1)方程x=g(x)在(a,b)内有唯一根x*;(2)迭代公式xk+1=g(xk)对(a,b)内任意初始近似根x0均收敛于x*;(3)近似根xk误差预计公式为:|x*-xk|≤|x1-x0|
45/90电子信息工程学院464.2.3牛顿法(切线法)切线法原理:把函数f(x)在某一初始值x0点附近展开成泰勒级数,取其线性部分,近似地代替函数f(x)可得方程近似式:f(x)≈f(x0)+(x-x0)f'(x0)=0设f‘(x0)≠0,解该近似方程可得把函数f(x)在x1点附近展开成泰勒级数,取其线性部分替换函数f(x)。如此继续作下去,就能够得到牛顿迭代公式46/90电子信息工程学院47切线法收敛性:牛顿迭代法局部收敛性定理(P.92)。牛顿迭代法是平方收敛。47/90电子信息工程学院484.2.4弦截法(割线法)应用切线法牛顿迭代公式时,每次都得计算导数f'(xk),若将该导数用差商代替,就成为割线法(有时称快速弦截法)迭代公式48/90电子信息工程学院49二分法简单方便,但收敛速度慢;迭代法即使收敛速度稍微快点,但需要判断能否收敛;只要初值选取得当,切线法含有恒收敛且收敛速度快优点,但需要求出函数导数;弦截法不需要求导数,尤其是我们介绍快速弦截法,收敛速度很快,不过需要知道两个近似初始根值才能作出弦,要求初始条件较多。49/90电子信息工程学院504.5求方程组数值解指令fsolve是用最小二乘法求解非线性方程组F(X)=0指令,变量X能够是向量或矩阵,方程组能够由代数方程或者超越方程组成。它使用格式为fsolve('fun',X0,OPTIONS)
50/90电子信息工程学院511)在编辑调试窗中键入:functionyy3=li4_8(X)yy3(1)=3*X(1)-cos(X(2)*X(3))-0.5;yy3(2)=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.10.1-0.1])回车得到ans=0.50000.0144-0.5232这是方程组最小二乘解,用符号指令solve无法得出最终止果。51/9052线性代数方程组解性质AS≡b解判别及其结构Ax=0:有非零解——系数矩阵秩R(A)<n。若R(A)=n,则方程组只有零解。Ax=b:分三种类型:当R(A)=R(B)=n时,称方程组为恰定方程组,这时它有唯一解向量;当R(A)=R(B)<n时,称方程组为欠定方程组,这时它有没有穷多解向量;当R(A)<R(B)时,称方程组为超定方程组或矛盾方程组,即保留方程个数大于未知量个数,普通意义下无解,但可求出其最小二乘解。52/90535.2恰定线性代数方程组求解克莱姆法则对于恰定方程组Ax=b,即满足R(A)=R(B)=n方程组求解,可用克莱姆(Cramer)法则得出唯一解。
利用Cramer法则求解所需乘除运算量为:N=(n+1)!(n-1)+n=n!(n2-1)+n53/9054假如令P=Pn-1Pn-2…P1,方程组矩阵形式为PAx=Pb高斯消去法实质就是经过初等变换把待求方程组系数矩阵A变换成三角矩阵,也叫使矩阵A三角化。所以,研究怎样使矩阵三角化对于求出线性方程组解是很有帮助。依据矩阵性质和需求不一样,产生出各种矩阵三角化方法。54/9055二、求解非齐次线性方程组MATLAB方法1.恰定方程组条件:rank(A)=rank(B)=r=n,指令:1)逆矩阵:x=inv(A)*b;2)左除法:x=A\b;3)符号矩阵:x=sym(A)\sym(b)。55/90562.欠定方程组(不定方程组)条件:R(A)=R(B)=r<n时指令:它通解由与其对应齐次方程Ax=0通解和Ax=b一个特解组成。求Ax=0通解用null指令,求Ax=b一个特解用矩阵除法。56/90573.超定方程组条件:R(A)<R(B)=R([Ab])指令:左除A\b方法求出它最小二乘解因为超定方程组没有准确解,所以不能用符号矩阵除法来求解超定方程组。57/9058三、矩阵分解指令1.方阵三角分解指令lu[L,U]=lu(A)[L,U,P]=lu(A)2.方阵乔累斯基(Cholesky)分解指令cholchol(A)58/90595.5求解线性代数方程组迭代法
1、迭代法基本原理假如线性方程组Ax=b系数矩阵A非奇异,则方程组有唯一解。把这种方程中方阵A分解成两个矩阵之差:A=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称为迭代矩阵。
59/9060向量范数非负性:||x||≥0齐次性:||ax||=|a|||x||;三角不等式:||x||+||y||≥||x+y||。60/9061矩阵范数假如满足范数三条件,同时满足矩阵乘法相容性(次乘性):||A||·||B||≥||A·B||
61/90625.6方阵特征值和特征向量计算
解多项式方程迭代法
1.方阵特征方程求解Ax=λx2.计算特征值和特征向量迭代法1.雅可比法:P-1AP=PTAP=Λ2.QR算法:A=QR
(QTQ=E)62/90635.7矩阵一些特征参数MATLAB求算求方阵行列式指令det:det(A)
求方阵特征多项式指令poly:P=poly(A)
roots(P)poly2str(P,’y’)求方阵特征值和特征向量指令eig:[xr]=eig(A);eig(A)
矩阵正交三角分解指令qr:[qr]=qr(a);[qrp]=qr(a)计算范数指令norm:norm(A,ex)矩阵谱半径计算:max(abs(eig(M)))63/90642三次样条插值基本原理三次样条插值也是一个分段插值方法,用分段三次多项式结构成一个整体上含有函数、一阶和二阶导函数连续函数,近似地替换已知函数F(x)。假设已知函数F(x)在区间[a,b]上(n+1)个节点a=x0<x1<…<xn-1<xn=b及其对应函数值F(xi)=yi,即给出(n+1)组样本点数据(x0,y0),(x1,y1),…(xn,yn),能够结构一个定义在[a,b]上函数S(x),满足下述条件:S(xi)=yi;S(x)在每个小区间[xi,xi+1]上都是一个三次多项式Si(x)=ai0+ai1x+ai2x2+ai3x3S(x)、和在[a,b]上连续。可见S(x)是个光滑分段函数,这么函数S(x)称为三次样条(Spline)插值函数。
64/90656.4数据曲线拟合数据拟正当:不要求结构近似函数φ(x)全部经过样本点,而是“很好迫近”它们。数据曲线拟合最小二乘法:要求在全部n个样本点xj(j=1,…,n)处,多项式取值与函数值yj偏差平方rj2=(Pm(xj)-yj)2之和到达最小。
65/90666.5多项式运算在MATLAB中实现
1.多项式向量表示法p(x)=3x4+5x3-7x+9p=[3,5,0,-7,9]。2.多项式转换指令poly2str(p,‘t’)3.特殊多项式创建p1=poly(p)4.多项式加减5.多项式乘法conv(p1,p2)6.多项式除法[q,r]=deconv(p,w)7.多项式求导k=polyder(p)8.多项式求值polyval(p,x0)66/90676.6曲线拟合在MATLAB中实现1、数据多项式曲线拟合用代数多项式拟合数据指令是polyfit,p=polyfit(x,y,m)2、任意函数多项式拟合3、数据拟合成指数函数等惯用函数67/90第7章数值积分Newton-Leibniz:7.1计算积分MATLAB符号法s=int(fun,v,a,b)fun是被积函数符号表示式v是积分变量a、b为定积分积分限输出参量s为积分结果68/90697.2Newton-Cotes求积公式数值积分标准上能够用于计算各种被积函数定积分,其基本原理都是用多项式函数近似代替被积函数,用对多项式积分结果近似代替对被积函数积分。牛顿-柯特斯求积公式,就是用多项式函数Pn(x)近似地代替被积函数f(x),用对Pn(x)积分代替对f(x)积分推出一个数值积分方法(插值型数值积分方法)。
69/90701牛顿—柯特斯求积公式推导70/907171/907272/9073柯特斯求积系数含有特征:a、跟被积函数、积分区间无关,只跟代替被积函数多项式次数n相关;b、在定义式中作代换t=n-i后其值不变,所以它含有对称性,即=。c、=1。将f(x)≡1代入N-C求积公式便可得出该性质,将表8-1里一行中取值相加,也能够验证该性质;D、普通都采取次数较低插值多项式迫近被积函数,通常n取值不得大于8。
73/90742牛顿—柯特斯求积公式误差预计a.牛顿—柯特斯求积公式截断误差74/9075b.牛顿—柯特斯求积公式代数精度假如被积函数f(x)为任意一个次数不高于n次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理护理问题解决
- 护理与安宁疗护
- 护士安全操作中的团队合作与沟通
- 医院感染预防的法律法规
- 护理专业解剖学学习资源
- 客户服务团队文化建设与价值观塑造
- 客户回访中的技巧与策略
- 轮机员安全防护措施及应急处理
- 成都天府生物产业孵化园三期项目水土保持方案报告表
- 列车的日常维护与保养知识培训
- 2026国家新闻出版广电总局监管中心招聘35人易考易错模拟试题(共500题)试卷后附参考答案
- 科技预见与未来愿景 2049 中文版
- 2025环境工程考研水处理工程模拟卷及答案
- 货运车队安全教育课件
- 2025中国电影市场及观众变化趋势报告
- 纠纷及突发事件应急预案
- 志愿活动拍摄技法
- SA8000-2026社会责任管理体系内审检查表完整内容
- 2025年专升本贵州真题语文答案
- 废气运维工考试题及答案
- 初中语文2026届中考必背古诗词理解性默写练习(共40首附参考答案)
评论
0/150
提交评论