常用符号
括号[] 在方括号中给出数组的所有元素
逗号, 分隔同一行的元素
空格 分隔同一行的元素
分号; 分隔不同行的元素
上撇‘ 矩阵转置
冒号: 创建规则间隔的向量或索引数组特定维度下的指定下标
数组的定义
空数组 Empty Array 不含任何元素,用作数组声明、数组清空、特殊运算
标量 Scalar 只含有一个元素,即一行一列的数组
行、列向量 Vector 只有一行或一列元素的向量,即一维数组
多维数组 Array 具有多个维度[行;列;页;……][row;column;page;...]
数组的创建
创建空数组 A=[]
创建一维数组
Var=[x1,x2,x3,x4,...]
Var=start_var:step:stop_var
当不指定step时,默认为0
Var=Function(start_var,stop_var,n)
创建等差数组 Var=Linspace(start_var,stop_var,n)
创建等比数组 Var=Logspace(start_var,stop_var,n)
创建高维数组
1、混合使用一维数组
Var=[[x1,x2,x3,x4,...];[start_var:step:stop_var];[Function(start_var,stop_var,n)]]
Var=[x1,x2,x3,x4,...;start_var:step:stop_var;Function(start_var,stop_var,n)]
2、循环
For i=start_var:step:stop_var
For j=start_var:step:stop_var
...
Var(i,j,...)=...;
...
end
end
3、标准数组
A=zeros(m,n,...)
B=ones(m,n,...)
C=randn(m,n)
D=eye(n)
E=magic(n)
F=gallery(n)
4、数组处理
cat:连接数组
A=cat(dim,A1,A2,A3...)
dim表示数组维度,A1,A2,A3表示各维度上的数组
*可用赋值法代替cat
repmat:复制并堆砌数组
B=remat(A,[m n p...])
A表示复制的数组模块,[m n p...]表示该数组模块在各个维度上复制个数
reshape:修改数组的大小
C=reshape(A,m,n,p...)
A表示待重组的矩阵,m,n,p...表示数组各维的维度
5、创建复数矩阵
C=A+i*B,A,B均为普通矩阵
6、创建符号矩阵
先定义矩阵中的每一个元素为符号变量,而后像普通矩阵一样输入符号矩阵。
sym定义符号表达式
syms定义符号变量
数组的运算
1)sum,mean等函数对高维数组的第一个不为一的维度上的向量进行计算
2)sin,cos等函数对高维数组的每一个单独元素进行计算
3)eig等针对二维数组的运算函数则需要用指定页面上的二维数组作为输入
数组的属性
size(A) 按照行-列-页的顺序返回数组A每一维的大小
ndims(A) 返回数组A具有的维度值
whos 返回当前工作区中的各个变量的详细信息
数组的索引
多下标索引 A(i,j,k,...)
单下标索引 A(n)
MATLAB中式按照行-列-页优先级逐渐降低的顺序把多维数组的所有元素线性储存