1、如键入X=-3.5 sin(6*pi) 8/5*(3+4) sqrt(2)则将显示:X = -3.5000 -0.0000 11.2000 1.4142数组放置在 中;数组元素用空格或逗号“,”分隔;数组行用分号“;”或“回车”隔离。(二)复数MATLAB中的每一个元素都可以是复数,实数是复数的特例。复数的虚部用i或j表示。复数的赋值形式有两种:z=1+1i ,2+2i ;3+3i ,4+4i z=1,2;3,4+1,2;3,4*i得 z=1.000+1.000i 2.000+2.000i 3.000+3.000i 4.000+4.000i以上两式结果相同。注意,在第二式中“*”不能省略。在复
2、数运算中,有几个运算符是常用的。运算符“”表示把矩阵作共轭转置,即把矩阵的行列互换,同时把各元素的虚部反号。函数conj表示只把各元素的虚部反号,即只取共轭。若想求转置而不要共轭,就把conj和“”结合起来完成。例如键入 w=z,u=conj(z),v=conj(z)可得 w=1.000-1.000i 3.000-3.000i 2.000-2.000i 4.000-4.000iu=1.000-1.000i 2.000-2.000i 3.000-3.000i 4.000-4.000iv=1.000+1.000i 3.000+3.000i 2.000+2.000i 4.000+4.000i(三)数
3、组寻访和赋值的格式表M-1 常用子数组的寻访、赋值格式子数组的寻访 和赋值 使 用 说 明 a(r,c) 由a的“r指定行”和“c指定列”上的元素组成的子数组 a(r,:) 由a的“r指定行”和“全部列”上的元素组成的子数组 a(:,c) 由a的“全部行”和“c指定列”上的元素组成的子数组 由a的各列按自左到右的次序,首尾相接而生成“一维长列”数组 a(s) “单下标”寻访。生成“s指定的”一维数组。s若是“行数组”(或“列数组”),则a(s)就是长度相同的“行数组”(或“列数组”)例:a=1 2 3; 7 8 9;键入a(1,2)显示:ans = 2键入a(2,:)显示: 4 5 6键入a(
4、:,3)显示: 3 6 9其它情况读者可以自行上机观察使用,此处不再一一举例。(四)执行数组运算的常用函数表M-2 三角函数和双曲函数 名 称 含 义 acos 反余弦 asinh 反双曲正弦 csch 双曲余割 acosh 反双曲余弦 atan 反正切 sec 正割 acot 反余切 atan2 四象限反正切 sech 双曲正割 acoth 反双曲余切 atanh 反双曲正切 sin 正弦 acsc 反余割 cos 余弦 sinh 双曲正弦 acsch 反双曲余割 cosh 双曲余弦 tan 正切 asec 反正割 cot 余切 tanh 双曲正切 asech 反双曲正割 coth 双曲余切
5、 asin 反正弦 csc 余割 表M-3 指数函数 含 义 含 义 exp 指数 log10 常用对数 pow2 2的幂 log 自然对数 log2 以2为底的对数 sqrt 平方根说明:表M-3、表M-4的使用形式与其它语言相似。如X=tan(60), Y=20*log(U/0.775), Z=1-exp(-1.5*t)。表M-4 复数函数 abs 模,或绝对值 conj 复数共轭 real 复数实部 angle 相角(弧度) imag 复数虚部例:已知h=a+jb,a=3,b=4,求h的模。输入:a=3b=4h=a+b*jabs(h)将显示:5键入:angle(h)1. 9273real
6、(h)3imag(h)则显示:4 表M-5 取整函数和求余函数 ceil 向+舍入为整数 rem(a,b) a整除b,求余数 fix 向0 舍入为整数 round 四舍五入为整数 floor 向-舍入为整数 sign 符号函数 mod(x,m) x整除m取正余数键入ceil(1.45)显示: 2fix(1.45) 1floor(-1.45) -2 键入:round(1.45)round(1.62)2mod(-55,7) 显示:rem(-55,7)-6 (五)基本赋值数组表M-6 常用基本数组和数组运算 基本数组zeros全零数组(mn阶)logspace 对数均分向量(1n阶数组)ones 全
7、么数组(mfreqspace频率特性的频率区间rand随机数数组(mmeshgrid画三阶曲面时的X,Y网格randn 正态随机数数组(mlinspace均分向量(1eye(n)单位数组(方阵): 将元素按列取出排成一列 特殊变量和函数 ans 最近的答案 Inf Infinity(无穷大) eps浮点数相对精度 NaN Not-a-Number(非数)realmax 最大浮点实数 flops 浮点运算次数 realmin 最小浮点实数 computer 计算机类型 pi3.14159235358579 inputname * 输入变量名 i,j虚数单位 size 多维数组的各维长度 leng
8、th 一维数组的长度 为便于大量赋值,MATLAB提供了一些基本数组。举例说明:A=ones(2,3),B=zeros(2,4),C=eye(3)得 A=1 1 1 B=0 0 0 0 C=1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 1 线性分割函数linespace(a,b,n)在a和b之间均匀地产生n个点值,形成1n元向量。D=linspace(0,1,5)得 D= 0 0.2500 0.5000 0.7500 1.0000(六)数组运算和矩阵运算 MATLAB中最基本的运算是矩阵运算。但是在MATLAB的运用中,大量使用的是数组运算。从外观形状和数据结构上看,二维数组和(
9、数学中的)矩阵没有区别。但是,矩阵作为一种变换或映射算子的体现,其运算有着明确而严格的数学规则。而数组运算是MATLAB软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然简便以及执行计算有效。虽然数组运算尚缺乏严谨的数学推理,数组运算本身仍在完善和成熟中,但它的作用和影响正随着MATLAB的发展而扩大。为更清晰地表述数组运算与矩阵运算的区别,我们以表M-7叙述各数组运算指令的意义。其中假定S=2,n=3,P=1.5。A=1 2 3; 4 5 6; 7 8 9,B=2 3 4; 5 6 7; 8 9 1。表M-7 举例说明数组运算指令的意义 指 令 运 算 结 果 s+A 标量s
10、分别与A元素之和 3 4 5 6 7 8 9 10 11 A-s A分别与标量s的元素之差-1 0 1 2 3 4 5 6 7 s.*A 标量s分别与A的元素之积 2 4 6 8 10 12 14 16 18s./A或A.s s分别被A的元素除 2.0000 1.0000 0.6667 0.5000 0.4000 0.3333 0.2857 0.2500 0.2222 A.n A的每个元素自乘n次 1 8 27 64 125 216 343 512 729 p.A 以p为底,分别以A的元素为指数 求幂值1.5000 2.2500 3.3750 5.0625 7.5938 11.3906 17.
11、0859 25.6289 38.4434 A+B 对应元素相加 3 5 7 9 11 13 15 17 10 A-B 对应元素相减-1 -1 -1 -1 -1 -1 -1 -1 8 A.*B 对应元素相乘 2 6 12 20 30 42 56 72 9 A./B或 B.A A的元素被B的对应元素除 0.5000 0.6667 0.7500 0.8000 0.8333 0.8571 0.8750 0.8889 9.0000 exp(A) 以自然数e为底,分别以A的元素为指数,求幂 1.0e+003 * 0.0027 0.0074 0.0201 0.0546 0.1484 0.4034 1.096
12、6 2.9810 8.1031 log(A) 对A的各元素求对数 0 0.6931 1.0986 1.3863 1.6094 1.7918 1.9459 2.0794 2.1972 sqrt(A) 对A的各元素求平方根 1.0000 1.4142 1.7321 2.0000 2.2361 2.4495 2.6458 2.8284 3.0000有一函数X(t)=tsin3t,在MATLAB程序中如何表示?解: X=t.*sin(3*t)有一函数X(t)=sin3t/3t, 在MATLAB程序中如何表示? X=sin(3*t)./(3*t)二、逻辑判断与流程控制(一)关系运算关系运算是指两个元素之
13、间数值的比较,一共有六种可能。如表M-8所列。关系运算的结果只有两种可能,即0或1。0表示该关系式为“假”,1表示该关系式为“真”。例1:A=3+4=7,得 A=1。例2:已知N=0,B=N=0,得 B=1。 若N=2,B=N=0,得 B=0。表M-8 关系运算符 = 大于等于 大于 = 不等于(二)逻辑运算逻辑量的基本运算为“与(&)”、“或()”、“非()”三种,另外还可以用“异或(xor)”,如表M-9所示。表M-9 逻辑运算符 运 算 A=0 A=1 B=0 B=1 B=0 A&B 0 A|B 1 A xor(A,B) (三)基本的流程控制语句 if条件执行语句格式: if 表达式 语
14、句, end if 表达式1 语句组A, else 语句组B, endif 表达式1 语句组A, elseif 表达式2 语句组B, else 语句组C, end执行到该语句时,计算机先检验if后的逻辑表达式,为1则执行语句A;如为0则跳过A检验下一句程序,直到遇见end,执行end后面的一条语句。if n x=3; end若n=5,则结果 x=3 while循环语句 while 表达式 语句组A, end执行到该语句时,计算机先检验while后的逻辑表达式,为1则执行语句A;到end处,它就跳回到while的入口,再检验表达式,如仍为1则再执行语句A,直到结果为0,就跳过语句组A,直接执行e
15、nd后面的一条语句。while k=1000 k=k+1;键入k将显示 k= 1001 for循环语句 for k=初值:增量:终值 语句组A, end将语句组A重复执行N次,但每次执行时程序中k值不同。增量缺省值为1。y=0;for k=1:20 y=y+k;end键入y将显示y=210 switch多分支语句 switch 表达式(标量或字符串) case 值1 语句组A case 值2 语句组B otherwise 语句组N当表达式的值与某case语句中的值相同时,它就执行该case语句后的语句组,然后直接跳到终点的end处。三、基本绘图方法(一) 二维图形函数MATLAB语言支持二维和
16、三维图形,这里我们主要介绍常用的二维图形函数。如表M-11所示。表M-11 常用图形函数库 基本XY图形 plot 线性X-Y座标绘图 polar 极座标绘图 loglog 双对数X-Y座标绘图 plotyy 用左、右两种Y座标画图 semilogx 半对数X座标绘图 semilogy 半对数Y座标绘图 stem 绘制脉冲图 stairs 绘制阶梯图 bar 绘制条形图 坐 标 控 制 axis控制座标轴比例和外观subplot 按平铺位置建立子图轴系 hold 保持当前图形 图 形 注 释 title 标出图名(适用于三维图形) gtext 用鼠标定位文字 xlabel X轴标注(适用于三维
17、图形) legend 标注图例 ylabel Y轴标注(适用于三维图形) grid 图上加座标网格(适用于三维) text 在图上标文字(适用于三维) 打 印 print 打印图形或把图存为文件 orient 设定打印纸方向 printopt打印机默认选项 常用的三维曲线绘图命令 Plot3在三维空间画点和线 mesh 三维网格图 fill3在三维空间绘制填充多边形 surf 三维曲面图最常用的命令使用说明:plot(t,y)表示用线性X-Y座标绘图,X轴的变量为t,Y轴的变量为y。subplot(2,2,1)建立22子图轴系,并选定图1。axis(0 1 -0.1 1.2)表示建立一个座标,
18、横座标的范围从0至1,纵座标的范围从-0.1至1.2。title(X(n)曲线)在子图上端标注图名作图时,线形、点形和颜色的选择可参考表M-12。表M-12 线形、点形和颜色标志符 b c g k m r w y颜 色 蓝 青 绿 黑 品红 红 白 黄 。 线、点 点 圆圈号 号 实线 星号 点线点划线 虚线(二)举例以下举例说明二维图形函数在程序中的使用方法。作一条曲线,程序如下。t=0:0.5:4*pi; %将t在0到4间每间隔0.5取一点y=exp(-0.1*t).*sin(t);subplot(2,2,1),plot(t,y); %建立22子图轴系,在图1处绘线性图plot(t,y);
19、 %标注图名subplot(2,2,2),stem(t,y); %在22子图轴系图2处绘脉冲图stem(t,y)subplot(2,2,3),stairs(t,y);2子图轴系图3处绘阶梯图stairs(t,y)subplot(2,2,4),bar(t,y);2子图轴系图2处绘条形图bar(t,y)已知,。在同一座标系对两条曲线作图,用不同的颜色和线型区分。方法一:将同时显示曲线的向量列入数组,t必须等长。显示的线型和颜色不能任意选择。0.01:2;y1=sin(2*pi*t);y2=cos(4*pi*t);plot(t,y1;y2);图M-1 例2方法一方法二:显示曲线的向量t不必等长,显示
20、的线型和颜色能任意选择。作图时,先画第一条曲线保持住,再画第二条曲线。 图M-2 例2方法二t1=0:1;y1=sin(2*pi*t1);t2=0:y2=cos(4*pi*t2);plot(t1,y1,*m),hold ; %让第一条曲线保持住,再画第二条曲线plot(t2,y2,+b3MATLAB在信号处理中常用的函数MATLAB系统软件中具有专用的信号处理工具箱,对于我们学习信号与系统、数字信号处理等课程,进行通信、电子工程设计计算是一个非常有效的辅助手段。这里,我们仅列写出最常用的部分,供大家参考。一、常用的信号及信号的波形(一)常用的信号 在 MATLAB中的信号处理工具箱中,主要提供的信号是离散信号。由于MATLAB对下标的约定为从1开始递增,例如x=5,4,3,2,1,0,表示x(1)=5,x(2)=4,X(3)=3因此要表示一个下标不由1开始的数组x(n),一般应采用两个矢量,如 n=-3,-2,-
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2