基础知识
注释
在需要注释的内容开头使用%
%%可以分区模块,但是%%所在行才注释
变量命名规则
- 变量名区分大小写
- 变量名长度不超过63位
- 变量名以字母开头,可以由字母、数字和下划线组成,但不能使用标点
- 变量名应简明、通俗易懂
数据类型
数字
加减乘除
字符与字符串
s='a' 定义字符或字符串使用''
str='hello world!'
abs(s) 求字符对应的ASCII码
char(97) 通过ASCII码转成对应的字符
num2str(65) 将数字转成字符
length(str) 求字符的长度
矩阵
A = [1 2 3;4 5 6;7 8 9] 定义矩阵空格分割表示下一列,分号分割表示下一行
B = A' A'表示A的转置
C = A(:) A(:)表示将矩阵A变成一列,按列分
D = inv(A) inv(A)表示求A的逆矩阵
A * D 矩阵A乘矩阵D
E = zeros(10,5,3) zeros(i,j,k) 生成具有k个维度的i行j列的0矩阵
E(:,:,1) = rand(10,5) E(:,:,i) 表示E的第i个维度
rand(m,n) 生成m行n列的均匀分布的伪随机整数
E(:,:,2) = randi(5,10,5) randi(iMax) 在闭区间(0,iax)生成均匀分布的伪随机整数
randi(iMax,m,n) 在闭区间(0,iax)生成m x n型的随机矩阵
randi([iMin,iMax],m,n) 在闭区间(iMin,iMax)生成m x n型的随机矩阵
E(:,:,3) = randn(10,5) randn 生成标准正态分布的伪随机数(均值为0,方差为1)
元胞数组
cell(1,6) 定义一个1行6列的元胞数组(类似于二维数组)
eye(3) 定义一个3阶的单位矩阵
magic(5) 定义一个5阶幻方矩阵,幻方矩阵:该矩阵任意一行或列或对角线相加起来的值相同
结构体
books = struct('name',{{'java','python'}},'price',[1,2])
定义一个结构体。类似哈希表,有key为'name'对应的value为1×2 cell 数组{'java'} {'python'}
books.name(1)返回name中的第一个值 {'java'} 类型为cell数组
books.name{1}返回name中的第一个值 'java' 类型为字符串
矩阵操作
矩阵的定义与构造
A = [1,2,3;4,5,6] 定义矩阵
B = 1:2:9 生成从1到9步长为2
C = repmat(B,3,1) 以3行1列的形式重复B
D = ones(2,4) 生成2行4列全是1的矩阵
矩阵的四则运算
加减乘除 G=A/B -> G * B = A -> G * B * inv(B) = A * inv(B) -> G = A * inv(B)
F = A .* B 矩阵A与矩阵B对应项相乘
H = A ./ B 矩阵A与矩阵B对应项相除
矩阵的下标
A = magic(5)
B = A(2,3) 取A矩阵对应索引的值
C = A(:,3) 取A矩阵的第三列所有元素
[n,m] =find(A>20) 查找A矩阵中值大于20的索引值分别赋给n,m