1、现在大三,物理专业对科学计算要求越来越多。特别是我以后很可能把计算物理作为自己的研究方向,所以学一门计算软件是很有必要的。想了很久,就学Matlab,一门心思的把这个学好。刚开始学,今天学了几个 matlab 数组处理基本命令:1、catC = cat(dim, A, B)沿着 dim 方向(维度)将数组 A 和 B 连接起来2、repmat复制并堆砌数组。例:B = repmat(eye(2),3,4) %Replicate Matrix 垂直方向堆 3 个,水平方向堆 4个B =1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1
2、0 1 0 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 13、reshape修改数组大小,B = reshape(A,m,n,p,.),A 表示呆重组的矩阵,后面的输入参数则表示数组各维的维度,例:4、magic,例:magic(3)ans =8 1 63 5 74 9 25、gallery,暂时还不懂这个6、diag:选取矩阵对角线的数组;也可以由某个数组来创建矩阵,例:a=1 2 3; b=diag(a) b =1 0 00 2 00 0 37、(1)fliplr:左右对称交换数组元素,例:a=1 2 3;4 5 6;7 8 9;fliplr(a)ans =3 2 16
3、 5 49 8 7(2)flipud:上下对称交换数组元素flipud(a)ans =7 8 94 5 61 2 3(3)rot90:将矩阵逆时针旋转 90 度rot90(a)ans =3 6 92 5 81 4 78、tril:取下三角矩阵triu: 取上三角矩阵9、Kronecker 乘法:K= kron(X,Y)returns the Kronecker tensor product ofXandY.The result is a large array formed by taking all possible productsbetween the elements ofXand t
4、hose ofY.IfXism-by-nandYisp-by-q,thenkron(X,Y)ism*p-by-n*q.例:IfXis 2-by-3, thenkron(X,Y)is X(1,1)*Y X(1,2)*Y X(1,3)*Y X(2,1)*Y X(2,2)*Y X(2,3)*Y 10、flipdim(A,k):数组的对称交换,k 指的是对称面 11、shiftdim:维序号移动,例: datadata =1 2 3 45 6 7 89 10 11 12 a=reshape(data,2,2,3)a(:,:,1) =1 95 2a(:,:,2) =6 310 7a(:,:,3) =11 84 12 b=shiftdim(a,2)b(:,:,1) =1 56 1011 4b(:,:,2) =9 23 78 12shiftdim(A,1)使 A 的维号左移 1 位,就是第 2 维变第 1 维,第 3 维变第 2 维,第 1 维变最后维。A 是 2*2*3 的矩阵,Adim 就是 2*3*2 的矩阵,并且有A(1,2,3)=Adim(2,3,1),A(1,2,1)=Adim(2,1,1),以此类推