Matlab程序设计第2章矩阵及其运算

上传人:qiuji****ngye 文档编号:46066639 上传时间:2018-06-21 格式:PPT 页数:94 大小:1.88MB
返回 下载 相关 举报
Matlab程序设计第2章矩阵及其运算_第1页
第1页 / 共94页
Matlab程序设计第2章矩阵及其运算_第2页
第2页 / 共94页
Matlab程序设计第2章矩阵及其运算_第3页
第3页 / 共94页
Matlab程序设计第2章矩阵及其运算_第4页
第4页 / 共94页
Matlab程序设计第2章矩阵及其运算_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《Matlab程序设计第2章矩阵及其运算》由会员分享,可在线阅读,更多相关《Matlab程序设计第2章矩阵及其运算(94页珍藏版)》请在金锄头文库上搜索。

1、Matlab程序设计第2章 Matlab矩阵及其运算u MATLAB变量和数据操作u MATLAB矩阵及其操作u MATLAB运算与矩阵分析2.1 变量与数据操作 n数值的记述Matlab的数只采用习惯的十进制表示,可以带小数点 和负号;其缺省的数据类型为双精度浮点型(double) 。例如:3 -10 0.001 1.3e10 1.256e-6 n变量命令规则 l变量名、函数名对字母的大小写是敏感的。如 myVar与myvar表示两个不同的变量。 l变量名第一个字母必须是英文字母。 l变量名可以包含英文字母、下划线和数字。 l变量名不能包含空格、标点。 l变量名最多可包含63个字符(6.5及

2、以后的版本) 。2.1 变量与数据操作nMatlab预定义的变量变量名意义 ans最近的计算结果的变量名 epsMATLAB定义的正的极小值=2.2204e16 pi圆周率 inf值,无限大i或j虚数单元,sqrt(-1)NaN非数,0/0、/ 说明 l每当MATLAB启动完成,这些变量就被产生。 lMATLAB中,被0除不会引起程序中断,给出报警的同时用inf或NaN给出结 果。 l用户只能临时覆盖这些预定义变量的值,Clear或重启MATLAB可恢复其值 。2.1 变量与数据操作nMatlab内存变量clear清除Matlab工作空间中保存的变量 who显示Matlab工作空间中的变量信息

3、 whos显示Matlab工作空间中的变量具体信息n利用MAT文件保存内存变量假定光束参数波长和功率在内存中的变量 名为:lamda、powersave d:mycodebeamdata lamda power load d:mycodebeamdata save FileName v1 v22.1 变量与数据操作nMatlab常用数学函数函数名含义sign符号函数rem留数sin正弦cos余弦tan正切asin反正弦acos反余弦atan反正切atan2第四象限反正切函数名含义sinh双曲正弦cosh双曲余弦tanh双曲正切exp自然指数log自然对数log10以10为底的对数bessel贝

4、赛尔函数gamma伽吗函数rat有理逼近2.1 变量与数据操作nMatlab常用数学函数函数名含义abs绝对值或者复数模sqrt平方根real实部imag虚部conj复数共轭round4舍5入到整数fix舍入到最接近0的整数floor舍入到最接近-的整数ceil舍入到最接近的整数2.1 变量与数据操作nMatlab数据输出格式指 令含 义举 例 说 明format short通常保证小数点后四位有效,最多不超过7位;对于大 于1000的实数,用5 位有效数字的科学记数形式显示。1.3333format long小数点后15 位数字表示1.333333333333333 format short

5、 e5 位科学记数表示1.3333e+000 format long e15 位科学记数表示 format short g从format short 和format short e中自动选择最佳记数方 式format long g从format long 和format long e中自动选择最佳记数方式 format rat近似有理数表示 format hex十六进制表示 format +显示大矩阵用。正数、负数、零 分别用 + , - , 空格表示 。format bank(金融)元、角、分表示 format compact显示变量之间没有空行 format loose 在显示变量之间有空

6、行 2.2 matlab 矩阵(数组) v数组的概念v一维数组变量的创建v二维数组变量的创建v数组元素的标识与寻访v数组运算v多维数组2.2 matlab 矩阵(数组)n 数组定义:按行(row)和列(column)顺序排列的实数或复数的 有序集,被称为数组。数组中的任何一个数都被 称为这个数组的元素,由其所在的行和列标识, 这个标识也称为数组元素的下标或索引。Matlab 将标量视为11的数组。对m行、n列的二维数组a:计为mn的数组a;*行标识、列标识均从1开始;行标识从上到下递增; 列标识从左到右递增。2.2.1 创建一维数组 n 方法1:直接输入 【例】创建数组(行向量)a=1 3 p

7、i 3+5i a=1 3 pi 3+5*i 或者a=1, 3, pi, 3+5*i a= 1.0000 3.0000 3.1416 3.0000 + 5.0000i所有的向量元素必须在操作符“”之内; 向量元素间用空格或英文的逗点“,”分开。2.2.1 创建一维数组 n 方法2:使用冒号“:”操作符 通用格式为:x = a : inc : b,步长inc 为1时简写 为x = a : b 。 【例】键入并执行c=1:2:10和d=1:2:9 c=1:2:10 c=1 3 5 7 9 d=1:2:9 d= 1 3 5 7 92.2.1 创建一维数组 n 方法3:使用线性采样法 通用格式为:x =

8、 linspace ( a , b , n ) n该函数生成一个由n个元素组成的行向量; na为其第一个元素; nb为其最后一个元素; na、b之间元素的间隔=(b-a)/(n-1)。 n如果忽略参数n,则系统默认生成100个元素的行 向量。2.2.1 创建一维数组 n 方法4:使用对数采样法 通用格式为:y = logspace ( a , b , n ) n该函数生成一个由n个元素组成的行向量; n10a为其第一个元素; n10b为其最后一个元素; ny=10.(a:(b-a)/(n-1):b) n如果参数n=1,则返回y= 10b2.2.2 创建二维数组 n 方法1:直接输入n数组元素必

9、须在“ ”内键入; n行与行之间须用分号“;” 间隔,也可以在分行处用 回车键间隔; n行内元素用空格或逗号“,”间隔。 【例】键入并执行a2=1 2 3;4 5 6;7 8 9 a2=1 2 34 5 67 8 9 【例】键入并执行a2=1:3;4:6;7:9 %结果同上2.2.2 创建二维数组 n 方法2:用函数生成特殊矩阵函数 zeros (全零阵) 格式 B = zeros(n) %生成nn全零阵B = zeros(m,n) %生成mn全零阵函数 ones (全1阵) 格式 B = ones(n) %生成nn全1阵B = ones(m,n) %生成mn全1阵函数 eye(单位矩阵) 格

10、式 B = eye(n) %生成nn单位阵B = eye(m,n) %生成mn单位阵2.2.2 创建二维数组 n 方法2:用函数生成特殊矩阵函数 randn 格式 y = randn(n) %生成nn正态分布随机矩阵y = randn(m,n) %生成mn正态分布随机矩阵产生均值为0.6,方差为0.1的4阶矩阵 mu=0.6; sigma=0.1; x=mu+sqrt(sigma)*randn(4) x =0.8311 0.7799 0.1335 1.05650.7827 0.5192 0.5260 0.48900.6127 0.4806 0.6375 0.79710.8141 0.5064

11、0.6996 0.85272.2.2 创建二维数组 n meshgrid函数meshgrid是MATLAB中用于生成网格采样点 的函数。n,m = meshgrid(x,y)2.2.2 创建二维数组 n meshgrid函数w0=0.5e-2; x=linspace(-20*w0,20*w0,10); y=linspace(-20*w0,20*w0,10); px,py=meshgrid(x,y);2.2.3 一维数组的寻访与赋值子数组的寻访,利用下标进行寻址 x=1 2 3 4 5%逐个赋值法生成一维数组 x x =1 2 3 4 5 x( 1 2 5 )%依序取出 x 中第1、2、5个元素

12、 ans =1 2 5 x( 3 : end )%依序取出x中第3个到最后一个元素 ans =3 4 5 x( 3 : 1 : 1 )%依序取出x中第3、2、1个元素 ans =3 2 1 x( find ( x 3 ) )%依序取出x中大于3的元素 ans =4 5 x( 1 2 3 4 5 4 3 )%依序取出x中第1 2 3 4 5 4 3个元素,可以重复调用 ans =1 2 3 4 5 4 32.2.3 一维数组的寻访与赋值 x = zeros( 1 , 5 )%构造 1 * 5 的全零数组 x x =0 0 0 0 0 x( 1 ) = 0.5%数组 x 的第 1 个元素赋值 0.

13、5 x =0.5000 0 0 0 0 x( 2 : 5 ) = pi ./ ( 2 : 5 )%数组x的第2个到第5个元素赋值为/n x =0.5000 1.5708 1.0472 0.7854 0.6283 x(1,4)=0 0 %数组x的第1、4个元素赋值为零 x =0 1.5708 1.0472 0 0.6283 注意: 1) 子数组寻访取决于 x ( index )中的下标index。 2) 下标 index 可以是单个数值或数组,但是 index 的元素取 值必须在 1 , end 的范围内。end 为数组最大下标。 3) 子数组赋值时,注意被赋值的子数组长度与送入的数组长 度一致

14、。2.2.4二维数组的寻访与赋值1)“全下标”标识 “全下标”标识由两个下标组成:行下标、列下标,指出是 “第几行、第几列”的元素。例如 A ( 3 , 2 ) 表示二维数组A的 “第3行第2列”的元素。2)“单下标”标识 只用一个下标来指明元素在数组中的位置。先把二维数组 的元素的所有列按照从左到右的顺序重新排列,然后按顺序 编号即为二维数组的单下标。对应于 m*n 的二维数组,第 r 行第 c 列的元素的双下标为 (r,c),单下标为 (m*(c1)+r)。 全下标、单下标转换函数: sub2ind由全下标得到单下标 (Linear index) ind2sub由单下标得到双下标 (Mul

15、tiple subscripts)二维数组的标识2.2.4二维数组的寻访与赋值v A = 1 4 7 ; 2 5 8 ; 3 6 9 %输入二维数组A,元素值等于单下标 vA = v 1 4 7 v 2 5 8 v 3 6 9 v ind = sub2ind ( size(A) , 2 , 3 )%求第 2 行第 3 列的单下标ind vind = v 8 v A(ind)%取出数组A中第 ind 个元素 vans = v 8 v m, n = ind2sub ( size (A) , 5 )%求第 5 个元素的全下标 vm=2 vn=2 v A( i , j )%取出数组A第 i 行第 j 列的元素,也是

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

当前位置:首页 > 行业资料 > 其它行业文档

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