第二章-MATLAB基本操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§2.5操作符和特殊字符
7. xor 功能:异或操作。 格式:C=xor(A,B) C=xor(A,B)完成阵列A和B对应元素的 异或操作。 如: A=[0 0 pi eps] B=[0 -2 4 1.2] C=xor(A,B) C =0 1 0 1
§2.7 基本数学函数
一.三角函数
sin,sinh 正弦和双曲正弦 asin,asinh 反正弦和反双曲正弦 cos,cosh 余弦和双曲余弦
3. 冒号(:) 功能:建立向量、阵列的下标或用于迭 代。 冒号使用有两种格式,详见P45表2.3和 P46表2.4。
§2.5操作符和特殊字符
4. 特殊字符 功能:特殊字符。 格式:[] ( ) { } =’ . … ,;% ! 应该注意有些特殊字符的使用具有等效 的M文件函数。如水平串连[A,B,C…] 等效于horzcat(A,B,C…)。
§2.3 矩阵产生和操作
二.矩阵操作 矩阵产生后可以通过一些变换函数 变换,如rot90、tril、triu、fliplr等 例如:A=fix(10*rand(2,4)) A= 9 6 8 4 2 4 7 0 B1=tril(A,1),B2=triu(A,1)
§2.3 矩阵产生和操作
B1= 9 6 0 0 2 4 7 0 B2= 0 6 8 4 0 0 7 0 利用reshape函数可将矩阵元素重新排列 例如对上述产生的A,可输入: D=reshape(A,4,2) D= 9 8 2 7 6 4 4 0
§2.4 逻辑和关系运算
4.exist函数在装入数据之前对数据文件作检测 if exist(‘sg.dat’) load sg.dat else sg=zeros(30,2) end 当存在sg.dat时直接将数据读入到MATLAB 的sg变量中,不存在时将sg初始化成全零矩阵。
§2.4 逻辑和关系运算
§2.2 矩阵基础
二. 矩阵转置 b=a’ 可应用于行向量转成列向量 三. 矩阵元素求和 例:sum(a) 按矩阵列求和。 sum(a’)’ 按矩阵行求和。 sum(sum(a’)’) 求矩阵总和
§2.2 矩阵基础
四. 矩阵下标 (1)相当重要,灵活,等同于c语言的 指针地位 例:b=a(1,2)+a(2,3) b=a(8)+a(4) 注意:matlab是按列存取的。
§2.4 逻辑和关系运算
二. 关系操作符 MATLAB提供了六种关系操作符,这些 操作符与逻辑运算配合使用,可使程序 设计更加灵活。 例如:if and(a==1,b>5) …… end 则当a=1且b>5时执行指定的语句。
§2.4 逻辑和关系运算
三.MATLAB还提供了许多测试用的逻辑函 数。 1. all函数测定矩阵中是否全为非零元素 例如:a=[1 2;0 4]; b=all(a) b=0 1 c=all(all(a)) c=0
§2.5操作符和特殊字符பைடு நூலகம்
5. 关系操作符 功能:关系操作运算。 格式:A>B A>=B A==B A<B A<=B A~=B 关系操作符的优先级介于逻辑操作符和 算术操作符之间。
§2.5操作符和特殊字符
6. 逻辑操作符 功能:逻辑操作运算。 格式:A&B A|B ~A 注意逻辑操作有相应的M文件:A&B等效 于and(A,B),A|B等效于or(A,B), ~A等效为not(A)。
2.7 基本数学函数
5.mod模数(即有符号数的除后余数)。 例如: M=mod(16, 3) 6.rem除后余数。 例如:rem(11, 4) 7.sign符号函数。 Y=sign(X)可得到X的符号阵列。
2.8 逻辑函数
逻辑函数 all
any find exist is*
测试矩阵所有元素是否为非零
§2.3 矩阵产生和操作
注意:矩阵元素按列存储,因此重新 排列时其元素按列顺序选取。 另外,利用repmat函数可将小矩阵产 生大矩阵,利用cat函数可将矩阵连接起 来。
§2.4 逻辑和关系运算
一.逻辑操作符 MATLAB提供了三个逻辑操作符&、|、~,同 时又存在三个相应的M文件:and、or、not, 这两组的作用相同使用格式略有差异,xor是 第四个逻辑运算函数,完成异或操作。 在逻辑操作中,所有输入元素的非零值都当 作1处理,例如: x=[23 -5 ;0 0.001] ~x ans=0 0 1 0
2.7 基本数学函数
四. 取整和求余函数 1. fix 朝零方向取整。 根据接近于0的原则对A中的元素取 整。 例如: b1=fix(0.99) b2=fix(1.01)
2.7 基本数学函数
2. floor 朝负无穷大方向取整。 根据接近于负无穷大的原则,对A中 的元素取整。 例如:b3=floor(-0.5) b4=floor(0.5)
§2.2 矩阵基础
五. 矩阵连接 例:a=[1 2;3 4] b=[a a+5; a-5 zeros(size(a)] 将小矩阵嵌套入大矩阵,作为矩阵分 割,实现矩阵连接。
§2.2 矩阵基础
六. 矩阵行列删除 利用空矩阵可从矩阵中删除指定的行或列。 如,要删除第二行 b(2, :)=[ ] 要删除第二列 b(:,2) = [ ] 注意:将矩阵某元素附空值与赋零值完全 不同 b(1,2) = [ ]出错! b(1,2) = 0 可以
§2.2 矩阵基础
一. MATLAB矩阵输入。
(1)输入元素列表 例如:a=[1 2 3; 4 5 6; 7 8 9] 又如:b=[1:3; 4:6; 7:9] c=[1: 6 : 0.5] 注意:关于:的使用相当灵活,大家可随 着学习的不断深入对:的使用逐步加深 灵活。
§2.2 矩阵基础
(2)从外部数据文件读取 load score.dat (3) 利用matlab内部函数产生矩阵 例如:b=eye(3); 单位阵 c= ones(2,5); 全一阵 d=zeros(3,2); 全零阵 e=rand(2,3); 随机阵 (4)用户编写m文件产生矩阵 如:score2.m 则在命令行直接键入score2就可产生score2矩阵 注意:矩阵是按列存储的
2.7 基本数学函数
2. Log 自然对数 例如:X=[2 1; -1 -2]; Y=log(X) 3.log10 常用对数 格式:Y=log10(X)
2.7 基本数学函数
4.log2 以2为底的对数和将浮点数分解成 指数和尾数部分。 [F ,E]=log2(X)可将X表示成二进制形式, F为小数部分,E为2的整数次幂。即 X(i)=F(i)*2^E(i) 例如X=[34.12 657.32; -56.45 0.00345]; [F ,E]=log2(X)
2.7 基本数学函数
3. ceil 朝正无穷大方向取整。 根据接近于正无穷大的原则,对A中 的元素取整。 例如:b5= ceil (-0.5) b6= ceil (0.6)
2.7 基本数学函数
4. round 朝最近整数取整.(四舍五入) 根据四舍五入的原则对A中的元素取 整。 例如: b7=round(-0.5) b8=round(0.4)
§2.4 逻辑和关系运算
2. any函数测试出矩阵中是否有非零值 a=[1 2 0;4 0 0;0 5 0]; any(a) ans=1 1 0 这说明矩阵a中第1、2列包含有非零值, 而第3列不包含非零值。
§2.4 逻辑和关系运算
3. find函数可找出矩阵中的非零元素及其下标 a=zeros(5,20); a(3,7)=0.5; a(4,15)= -0.4; [i,j,v]=find(a) i=3 4 j=7 15 v=0.5000 -0.4000
( ) { } =’ . … ,;% !特殊字符
关系操作符 <> <= >= == ~= 关系操作运算 逻辑操作符
& | ~
xor
逻辑操作运算
异或操作
§2.5操作符和特殊字符
1. 算术运算符 功能:矩阵和阵列的算术运算。 格式:A+B A-B A*B A.*B A/B A./B A\B A.\B A^B A.^B A’ A.’ 以上这些矩阵或阵列的算术运算是MATLAB 的基本运算,他们还具有相应的M文件,从 而在适当场合可直接调用这些命令来完成, 对应的关系见P45 表2.2。
§2.7 基本数学函数
acos,acosh 反余弦和反双曲余弦 tan,tanh 正切和双曲正切 atan,atanh 反正切和反双曲正切
§2.7 基本数学函数
atan2 四象限反正切 cot,coth 余切和双曲余切 acot,acoth 反余切和反双曲余切 sec,sech 正割和双曲正割
§2.7 基本数学函数
§2.3 矩阵产生和操作
MATLAB提供的rand和randn可分别产 生均匀分布和正态分布的随机数。 例如要产生[0,1]之间均匀分布的随机向 量R(100×1),可输入R=rand(100,1) 如果要产生[-a,a](a为正数)之间均匀分 布的随机数则应输入 R1=a-2×a×rand(100,1) 利用diag函数可产生对角矩阵
测试任意非零值 查找非零元素的值和下标 检查给定变量或文件是否存在 检测状态(共有26种函数)
5. is*函数可对矩阵进行各种检测,其中 isnan函数可从阵列中检测非数值。当阵 列中包含有NaN时,则基于这一阵列的 函数值也为NaN,因此在数据处理之前, 一般应对数据进行分析,删去包含有 NaN的测量样本,然后在进行处理。
§2.5操作符和特殊字符
算术操作符 +-*/\^’ kron : 矩阵和阵列的算术运算 Kronecker张量积 建立向量、阵列的下标或用于迭代 特殊字符
§2.5操作符和特殊字符
2. kron 功能:kronecker张量积。 格式:k=kron(X,Y) k=kron(X,Y)可得到X和Y的kronecker张 量积,其结果是由X和Y所有元素可能的 积形成的大型阵列,如果X为m×n,Y为 p×q则kron(X,Y)为m*p×n*q。
§2.5操作符和特殊字符
2.7 基本数学函数
5. pow2 2的幂和组合成浮点数 pow2函数是log2的逆函数。 例如: X=pow2(F ,E)
2.7 基本数学函数
6. nextpow2 2的下一个整数幂。 p=nextpow2(A)可得到大于或等于abs(A) 的最小2次幂。 例如:p=nextpow2(56) 7. sqrt 平方根 B= sqrt (A)可求出阵列A中每个元素的平 方根。
§2.2 矩阵基础
(2)利用下标修改矩阵元素,更是方便 例:a(2,3) = 15; a(2,1:3) = [5 10 15]; 这时a的第二行变成5 10 15, 其他行不变 也可利用end表示最后一个元素 a(2,1:end)表示矩阵的第二列
§2.2 矩阵基础
(3)访问超出矩阵范围时,产生 Index exceeds matrix dimentions 存储超出矩阵范围时,矩阵自动调节 大小,指定位置元素置入,其他没指定 数的位置默认为零。 注意:随时调整矩阵大小是以付出执 行时间为代价的。
asec,asech 反正割和反双曲正割 csc,csch 余割和双曲余割 acsc,acsch 反余割和反双曲余割 注意:三角函数都是面向阵列中的元 素操作的,其角度的单位是弧度。
§2.7 基本数学函数
二.指数和对数函数
1. exp 指数函数 exp函数是面向阵列元素的操作。 例如:X=[1 2;-1 -2]; Y=exp(x)
2.7 基本数学函数
三.复数函数 abs 绝对值和复数模 angle 相角。P=angle(Z)可得复数Z的 相角。利用Z=R.*exp(i*theta)可恢 复复数Z。 conj 复共轭。求复数的复共轭。
2.7 基本数学函数
imag 复数虚部。求复数的虚部。 real 复数实部。求复数实部。 cplxpair 将复数排列成共轭对。 B=cplxpair(A)可对A中各位上的复数排序。 B=cplxpair(A, tol)采用了指定的容限rol。 B=cplxpair(A, [], dim)表示沿着由标量dim指定 维进行排序。 B=cplxpair(A,tol,dim)表示采用指定的容限tol。