1.MATLAB的运算
本次介绍的是MATLAB中的运算符。分别有算术运算符,关系运算符和,逻辑运算符。
运算符 | 说明 | 运算符 | 说明 |
+ | 加法 | .\ | 左除法 |
- | 减法 | \ | 矩阵左除法 |
.* | 乘法 | .^ | 求幂 |
* | 矩阵乘法 | ^ | 矩阵求幂 |
./ | 右除法 | .‘ | 转置 |
/ | 矩阵右除法 | ‘ | 矩阵求秩,复数求共轭 |
运算符 | 说明 | 函数 |
< | 小于 | lt(a,b) |
<= | 小于等于 | le(a,b) |
> | 大于 | gt(a,b) |
>= | 大于等于 | ge(a,b) |
== | 恒等于 | eq(a,b) |
~= | 不等于 | ne(a) |
运算符 | 说明 | 函数 |
& | 与运算 | and(a,b) |
| | 或运算 | or(a,b) |
~ | 非运算 | not(a) |
xor | 异或 | xor(a,b) |
2.MATLAB的矩阵
函数 | 说明 |
ones(n); ones(n,m) | 建立一个元素都为1的矩阵 |
zeros(n); zeros(n,m) | 建立一个元素都为0的矩阵 |
eye(n); eye(n,m) | 建立一对角线元素为1,其他元素都为0的矩阵 |
diag(v); diag(X); diag(v,k); diag(X,k) | 将一个向量变成一个对角矩阵,或求一个矩阵的对角元素 |
magic(n) | 建立一个方阵使得它的每一行,每一列,和对角线元素的和都相等 |
rand(n); rand(n,m) | 建立一个均匀分布的随机矩阵,元素值在0,1之间 |
randn(n); randn(n,m) | 建立一个标准正态分布的随机矩阵 |
randperm(n) |
建立一个随机排列的指定整数向量 |
函数 | 说明 |
cat(dim,A,B) | 在指定方向dim上合并A和B矩阵,如果dim=1为横向合并,dim=2为纵向合并 |
horzcat(A,B) | 横向合并矩阵 |
vertcat(A,B) | 纵向合并矩阵 |
repmat(A,m,n) | 将矩阵复制,合并成新矩阵 |
blkdiag(A,B) | 已知矩阵合并成对角矩阵 |
(1)例题:利用函数repmat()和blkdiag()创建矩阵
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行 A=eye(3); B=rand(3); C1=repmat(A,2,3); %将矩阵复制合并成新矩阵 C2=blkdiag(A,B); %将矩阵合并成对角矩阵
运行结果
(2)例题:将矩阵A拆分重新建立矩阵
close all; clear all; clc; %关闭所有图形窗口,清除工作空间所有变量,清空命令行 A=magic(5); B=A(:,[2 4]); %提取矩阵A中的第2列和第4列组成矩阵B C=A([1 3],[2 4]); %提取矩阵A中的第1行和第3行,第2列和第4列元素组成矩阵C D=A(1:3,3:4); %提取矩阵A中的1至3行,3至4列中元素组成新矩阵D E=A([1:3;4 5 7;10:12]); %提取矩阵A中单下标为1至3的元素为第一行 %下标为4,5,7的元素为第二行,下标为10至12的为第三行组成矩阵E
(3)方阵的行列式:det()
(4)矩阵的转置矩阵:transpose()
(5)逆矩阵:inv(A); 伪逆矩阵:pinv(B)
[如果矩阵不是方阵,或者是一个非满秩的方阵时,矩阵没有逆矩阵,但可以求得伪矩阵]
(6)矩阵的秩:rank()
3.MATLAB控制语句
(1)for语句
for 循环控制变量=表达式1:表达式2:表达式3 语句 end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% for 循环控制变量=数组表达式 语句 end
(2)while语句
while 关系表达式 语句 end
(3)if语句
if 表达式 语句1 else 语句2 end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if 表达式1 语句1 elseif 表达式2 语句2 ... elseif 表达式n 语句n else 语句n+1 end
(4)switch语句
switch 表达式 case 表达式1 语句1 case 表达式2 语句2 ... case 表达式n 语句n otherwise 语句n+1 End
(5)try语句:错误捕获语句
try 语句1 catch 语句2 end
(6)break语句:可以从本次循环中跳出循环体,执行结束语句end的下一条语句。
(7)return语句:终止被调用函数的运行,返回到调用函数。
(8)pause语句:若其调用格式为pause,则暂停程序运行,按任意键继续;若为pause(n),则程序暂停运行n秒后继续;调用格式为pause on/off,允许/禁止其后的程序暂停。
(9)continue语句:可以结束本次循环,将跳过其后的循环体语句,进行下一次循环。
时间: 2024-11-05 16:11:34