matlab的数值运算

上传人:san****019 文档编号:70862223 上传时间:2019-01-18 格式:PPT 页数:48 大小:271.51KB
返回 下载 相关 举报
matlab的数值运算_第1页
第1页 / 共48页
matlab的数值运算_第2页
第2页 / 共48页
matlab的数值运算_第3页
第3页 / 共48页
matlab的数值运算_第4页
第4页 / 共48页
matlab的数值运算_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《matlab的数值运算》由会员分享,可在线阅读,更多相关《matlab的数值运算(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矩阵可省略“”。矩阵的 行元素之间用空格或“,”分隔,各行

2、之间用“;”分隔。如: A=1 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 array Grand total is 6 elements using 48 bytes,2.1 基本语法

3、结构,2.1.2 函数语句 MATLAB中除赋值语句外的其他语句 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;,patient patient = name: hello bill: 50 home: jinan patient(2).name=web; patient(2).bill=89; patient(2).home=uk; 2)利用结构函数创建 S = ST

4、RUCT(field1,VALUES1,field2,VALUES2,.) s = struct(type,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:

5、十六进制格式,2.1.5 永久变量,matlab中预定义的一些特殊的量。 i,j 虚数单位 Realmin 最小的正浮点数, pi 圆周率 Realmax 最大的浮点数, eps 浮点运算的相对精度 Inf 无穷大 NaN not a number ,不定值,1/0 Warning: Divide by zero. ans = Inf 0/0 Warning: 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.00

6、00i 2.7183 2.增量赋值 格式:x=初值:增值:终值 x=1:0.1:1.2 x = 1.0000 1.1000 1.2000 增量缺省时默认为1,2.2.1 矩阵变量赋值方法,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随机矩阵,正态分布,期望值0 rand(3,4) ans = 0.9218 0.4057 0.4103 0.3529 0.7382 0.9355 0.8936 0.8132 0.1763 0.9169

7、0.0579 0.0099,2.2.1 矩阵变量赋值方法,例2.9 已知控制系统的3个特征根,构造系统的伴随矩阵。 sysroot=-1 2 3;%3个特征根 a=poly(sysroot); %得到特征方程的系数向量 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 矩阵常规运算,矩阵的常规运算应符合矩阵维数的要求,其常规运算符有: +; - ; *; .*

8、; ; .; ; / ; ./ 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/b c = 0.6154 1.3846,2.2.3 矩阵特征运算,特征值函数 eig() 奇异值函数 svd() 范数函数 norm() 秩函数 rank 迹函数:矩阵所有对角线上元素的和称为矩阵的迹。trace() 条件数函数:判断矩阵的“病态”程度。 cond() 矩阵的行列式运算函数 det() 例:计算矩阵的特征值与奇异值, a=1 2;3

9、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,V=svd(a) U = -0.7071 -0.7071 -0.7071 0.7071 S = 1.4142 0 V = -1,2.2.4 矩阵分解运算,2.LU分解 L,U=lu(A) 又称三角分解,目的是分解成一个下三角阵L和一个上三角阵U的

10、乘积,即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做正交化分解,使得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

11、-0.6667 -0.6667 -0.3333 0.6667 -0.6667 0.6667 -0.3333 r = -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(平方根) 复数函数:abs,angle,congj(共轭复数),image,real 数值运算:fix(向0取整),floor(向负无穷取整), ceil(向正无穷取整),roun

12、d(向最近整数圆整) 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.2 z = 1.00 4.00 9.00 z=a.b z = 1.00 32.00 729.00,2.5 逻辑关系运算符,= 等于 eq = 不等于 ne 大于 gt = 大于等于 ge & 逻辑与 and | 逻辑或

13、or 逻辑非 not,a=1:3;4:6;7:9; x=5; y=ones(3)*5; xa=x=a xa = 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:9 a = 1 2 3 4 5 6 7 8 9 ab=a&b ab = 0 1 0 1 0 1 0 0 1, nb=b nb = 1 0 1 0 1 0 1 1 0,2.5 逻辑关系运算符,逻辑关系函数 any 向量的任意元素不为0则返回真 all 向量的所有元素不为0则返回真 isempty 判断空矩阵 isequal 判断相等矩阵 isnumeric 判

14、断数值矩阵 islogical 判断逻辑数组 logical 转换数值为逻辑型 isnan 判断不定数 isinf 判断无穷大元素 isfinite 判断有限大元素 find 寻找非零元素坐标,2.5 逻辑关系运算符,a=magic(5); a2=all(a3) a2 = 1 1 0 0 0 a11=any(a(:,1)10) a11 = 1 a22=any(a10) a22 = 1 1 1 1 1,a = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9,matlab语言把多项式表达成一个行向量, 该向量中的元素是按多项式降幂排列的。 f(x)=anxn+an-1xn-1+a0 可用行向量 p=an an-1 a1 +a0表示 poly 产生特征多项式系数向量 特征多项式一定是n+1维的 特征多项式第一个元素一定是1,2.6 多相式运算,例:a=1 2 3;4 5 6;7 8 0; p=poly(a) p =1.00 -6.00 -72.00 -27.00 p是多项式p(x)=x3-6x2-72x-27的matlab描述方法,我们可用: p1=poly2str(p,x) 函数文件,显示 数学多项式的形式 p1 =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号