MATLAB的数值运算 (2).ppt
《MATLAB的数值运算 (2).ppt》由会员分享,可在线阅读,更多相关《MATLAB的数值运算 (2).ppt(48页珍藏版)》请在三一办公上搜索。
1、第二章 MATLAB的数值运算,MATLAB具有强大的数值运算能力,它是基于矩阵的运算工具。2.1 基本语法结构MATLAB语言的所有运算都是基于矩阵运算来完成的所有变量都定义为矩阵所有的运算都是关于矩阵的运算。对于传统的标量运算,在MATLAB中单独定义了点运算。2.1.1变量与赋值语句(1)变量名称:字母+数字,以字母开头,长度最大为63个字母,区分大小写(2)变量性质:全为矩阵,size()函数。,2.1 基本语法结构,A=1 2;3 4;5 6;size(A)ans=3 2 矩阵用“”作为标识符,1*1矩阵可省略“”。矩阵的行元素之间用空格或“,”分隔,各行之间用“;”分隔。如:A=1
2、 2;3 4;5 6%或A=1,2;3,4;5,6 A=1 2 3 4 5 6,2.1 基本语法结构,(3)变量赋值 常数赋值:如上例中矩阵A的赋值,x=9;字符串赋值:f1=This is a string;表达式赋值:f2=exp(-2*x)*sin(x/5);(4)变量查询(A)变量值的查询:直接键入变量名(B)变量信息:who,whos命令 whos A Name Size Bytes Class A 3x2 48 double arrayGrand total is 6 elements using 48 bytes,2.1 基本语法结构,2.1.2 函数语句 MATLAB中除赋值语
3、句外的其他语句a=1 2 3;b=4;5;6;%赋值语句c=a*b%乘运算x=0.9;y=sin(x);2.1.3 结构变量1.结构变量的创建 1)直接创建patient.name=hello;patient.bill=50;patient.home=jinan;,patientpatient=name:hello bill:50 home:jinanpatient(2).name=web;patient(2).bill=89;patient(2).home=uk;2)利用结构函数创建S=STRUCT(field1,VALUES1,field2,VALUES2,.)s=struct(type,
4、big,little,color,red,x,3 4),数据的显示格式,2.1.4 变量精度MATLAB中一律使用双精度数可用format命令设置数据的显示格式format只是影响结果的显示,不影响计算与存储。format(short):短格式(5位定点数)format long:长格式(15位定点数)format short e:短格式e方式format long e:长格式e方式 format bank:2位十进制 99.12(银行货币形式)format hex:十六进制格式,2.1.5 永久变量,matlab中预定义的一些特殊的量。i,j 虚数单位 Realmin 最小的正浮点数,pi
5、圆周率 Realmax 最大的浮点数,eps 浮点运算的相对精度 Inf 无穷大 NaN not a number,不定值,1/0Warning:Divide by zero.ans=Inf0/0Warning:Divide by zero.ans=NaN,2.2 矩阵运算,2.2.1 矩阵变量赋值方法1.直接赋值 a=1 1+2i;2+i exp(1)a=1.0000 1.0000+2.0000i 2.0000+1.0000i 2.7183 2.增量赋值格式:x=初值:增值:终值 x=1:0.1:1.2x=1.0000 1.1000 1.2000增量缺省时默认为1,2.2.1 矩阵变量赋值方
6、法,3.初等矩阵赋值zeros(m,n)m*n全0矩阵ones(m,n)m*n全1矩阵eyes(m,n)m*n单位矩阵rand(m,n)m*n随机矩阵,01之间均匀分布randn(m,n)m*n随机矩阵,正态分布,期望值0rand(3,4)ans=0.9218 0.4057 0.4103 0.3529 0.7382 0.9355 0.8936 0.8132 0.1763 0.9169 0.0579 0.0099,2.2.1 矩阵变量赋值方法,例2.9 已知控制系统的3个特征根,构造系统的伴随矩阵。sysroot=-1 2 3;%3个特征根a=poly(sysroot);%得到特征方程的系数向量
7、b=a(4),a(3),a(2);comp=zeros(2,1),eye(2);-b;comp=%控制系统的伴随矩阵为 0 1 0%|0 1|0 0 1%|:.|-6-11-6%|0.1|%|-a(n)a(n-1)-a(2)|,2.2.2 矩阵常规运算,矩阵的常规运算应符合矩阵维数的要求,其常规运算符有:+;-;*;.*;;.;/;./a;inv(a)矩阵翻转fliplr,flipud,rot90关于除法左除“”:相当于Ax=B的解,x=A-1B。右除“/”:相当于xA=B的解,x=BA-1 a=1 2;3 4 b=2 3;c=a/bc=0.6154 1.3846,2.2.3 矩阵特征运算,特
8、征值函数 eig()奇异值函数 svd()范数函数 norm()秩函数 rank迹函数:矩阵所有对角线上元素的和称为矩阵的迹。trace()条件数函数:判断矩阵的“病态”程度。cond()矩阵的行列式运算函数 det()例:计算矩阵的特征值与奇异值,a=1 2;3 4 eig(a),ans=-0.3723 5.3723,svd(a)ans=5.4650 0.3660,2.2.4 矩阵分解运算,1.奇异值分解:对任意矩阵A,存在酉阵U、V,使得U*S*V=A,其中S=diag(s1,s2,sp),si非负,且 称si为矩阵A的第i个奇异值 U,S,V=svd(X)其中XUSV,a=1;1;U,S
9、,V=svd(a)U=-0.7071-0.7071-0.7071 0.7071S=1.4142 0V=-1,2.2.4 矩阵分解运算,2.LU分解 L,U=lu(A)又称三角分解,目的是分解成一个下三角阵L和一个上三角阵U的乘积,即ALU a=1 2 3;2 4 1;4 6 7;l,u=lu(a),l=0.2500 0.5000 1.0000 0.5000 1.0000 0 1.0000 0 0,u=4.0000 6.0000 7.0000 0 1.0000-2.5000 0 0 2.5000,2.2.4 矩阵分解运算,3.QR分解 Q,R=qr(A)做矩阵的正交三角形分解,将矩阵A做正交化分
10、解,使得Q*R=A,其中Q为正交矩阵(其范数为1,指令norm(Q)=1),R为对角化的上三角矩阵。,a=1 1 1;2-1-1;2-4 5;q,r=qr(a)q=-0.3333-0.6667-0.6667-0.6667-0.3333 0.6667-0.6667 0.6667-0.3333r=-3 3-3 0-3 3 0 0-3,2.3 基本数学函数,MATLAB的基本数学函数十分丰富,包括:三角函数:sin,sinh(双曲正弦),asin(反正弦),asinh,cos,cosh,acos,acosh,atan2(四象限反正切)指数函数:exp,log,log10,sqrt(平方根)复数函数:
11、abs,angle,congj(共轭复数),image,real数值运算:fix(向0取整),floor(向负无穷取整),ceil(向正无穷取整),round(向最近整数圆整)rem(求余),sign(根据符号取值)矩阵函数:expm,logm,例:sin(2)ans=0.9093,log(8)ans=2.0794,2.4 点运算,a.b a,b两数组必须有相同的行和列两数组相应元素相乘。a./b 都是a的元素被b的对应元素除数组乘方(.)元素对元素的幂,例:a=1 2 3;b=4 5 6;z=a.2z=1.00 4.00 9.00z=a.bz=1.00 32.00 729.00,2.5 逻辑
12、关系运算符,=等于eq=不等于ne 大于gt=大于等于ge&逻辑与and|逻辑或 or 逻辑非not,a=1:3;4:6;7:9;x=5;y=ones(3)*5;xa=x=axa=0 0 0 0 1 1 1 1 1,2.5 逻辑关系运算符,b=0 1 0;1 0 1;0 0 1;a=1:3;4:6;7:9a=1 2 3 4 5 6 7 8 9 ab=a&bab=0 1 0 1 0 1 0 0 1,nb=bnb=1 0 1 0 1 0 1 1 0,2.5 逻辑关系运算符,逻辑关系函数any向量的任意元素不为0则返回真all向量的所有元素不为0则返回真isempty判断空矩阵isequal判断相等
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB的数值运算 2 MATLAB 数值 运算

链接地址:https://www.31ppt.com/p-6511999.html