对数区分
log() %自然对数ln
log10() %常用对数lg
log2() %底为2对数lb
logN() %底为N对数
logm() %对矩阵求对数
指数区分
exp() %不能写成e^x
exp(1) %不能写成e
取整函数
round %四舍五入取整
fix %朝0方向取整
floor %朝-∞方向取整
ceil %朝+∞方向取整
取余函数
mod(-13,5) %结果为3
rem(-13,5) %结果为-2
复数
由于 i 和 j 既可以表示迭代变量也可以表示虚部,所以迭代变量可以改成 ii 、jj ,表示复数采用 1i 以作区分
数组遍历
x(:)
x(j:end)
x(:,j)
如果已知向量中所需元素数目(而非每个元素之间的间距),则可以改用 linspace 函数:
linspace(first,last,number_of_elements)
注意使用逗号 (,) 分隔 linspace 函数的输入
x = linspace(0,1,5) x = 0 0.250 0.500 0.750 1.000
随机数矩阵
x = rand(2) x = 0.8147 0.1270 0.9058 0.9134
rand(2) 命令中的 2 指定输出将为一个 2×2 的均匀分布随机数矩阵
扫描二维码关注公众号,回复: 11761153 查看本文章x = rand(2,3) x = 0.6324 0.2785 0.9575 0.0975 0.5469 0.9649
rand(m,n) %生成m行n列的均匀分布的伪随机数 rand(m,n,‘double’) %生成指定精度的均匀分布的伪随机数,参数还可以是’single’ rand(RandStream,m,n) %用指定的随机种子生成伪随机数 randn(m,n) %生成m行n列的标准正态分布的伪随机数 randn(m,n,‘double’) %生成指定精度的标准正态分布的伪随机数 randn(RandStream,m,n) %用指定的随机种子生成标准正态分布的伪随机数 randi(M) %在(0,M)生成均匀分布的伪随机数 randi(M,m,n) %在[0,M]生成m×n随机矩阵 x = randi([M,N],m,n) %在[M,N]生成m×n随机矩阵
可以使用 max 函数确定向量的最大值及其对应的索引值。max 函数的第一个输出为输入向量的最大值。执行带两个输出的调用时,第二个输出为索引值。
[xMax,idx] = max(x)
在R2009b以后,如不需要索引可以替换成~忽略输出。
可能只需要包含向量中最大值的索引:
density = data(:,2)
[~,ivMax] = max(v2)
densityMax = density(ivMax)
可以使用逻辑数组作为数组索引,在这种情况下,MATLAB 会提取索引为 true 的数组元素。以下示例将会提取 v1 中大于 6 的所有元素。
v = v1(v1 > 6)
v =
6.6678
9.0698
矩阵转置
B = A.' %转置
B = A' %共轭转置
特征值与特征向量
E = eig(A) %求矩阵A的全部特征值,构成向量E。
[X,D] = eig(A) %求矩阵A的全部特征值,构成对角阵D并产生矩阵X,X各列是相应的特征向量。
下期预告:快捷操作与程序结构