MATLAB中如何定义多维矩阵

是变量多维矩阵

1.定义两个度矩阵,如m=1,2,3;2和4。三,四,五,4和6;N=1、3、5;2-2;3、5、7;4,6,8。

2、水平问题马赛克,只输入k=[m,n]。

3.输入g=[mn],进行水平拼接。

4、垂直拼接,我们输入f=[m;n]即可回答。

5.MATLAB定义要显示的多维矩阵。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-29
matlab多维数组操作

1.一个三维数组由行、列和页三维组成,其中每一页包含一个由行和列构成的二维数组。
2.利用标准数组函数创建多维数组
A=zeros(4,3,2) 生成一个4行3列2页的三维全0数组,ones,rand和randn等函数有相似的用法。
3.利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索引,添加第二页、第三页。
4.利用函数reshape和repmat生成多维数组
B=reshape(A,2,9)
B=[A(:,:,1) A(:,:,2) A(:,:,3)] %结果与上面一样。
reshape(B,2,3,3)
reshape(B,[2 3 3]) %结果与上面一样。
提示:reshape函数可以将任何维数的数组转变成其他维数的数组。
5.利用repmat函数生成多维数组
C=ones(2,3)
repmat(C,[1 1 3]) % repmat写出类似reshape的repmat(C,1,1,3)将显示出错
提示:repmat是通过数组复制创建多维数组的,上面的代码即是将数组C在行维和列维分别复制一次,然后再页维复制三次得到2×3×3的三维数组。
6.利用cat函数创建多维数组
a=zeros(2);
b=ones(2);
c=repmat(2,2,2);
D=cat(3,a,b,c)%创建三维数组
D=cat(4,a,b,c) %创建4维数组。
D(:,1,:,:) %查看第一列的数据。
size(D) %可以知道数组D的具体维数。
6.数组运算与处理
数组之间的运算要求两个数组在任何一维都必须具有相同的大小。
(1)squeeze函数用于删除多维数组中的单一维(即大小为1的那些维)
E=squeeze(D)
size(D) E的数据和D一样,但比D少了一维,只有2行、2列和3页。
(2)reshape函数可以将一个三维向量变成一维向量。
v(1,1,:)=1:6
squeeze(v)
第2个回答  推荐于2016-03-03
想定义几维就写好了。
例如:A=ones(3,5,3),就表示定义了一个3*5*3的矩阵了。本回答被提问者采纳
第3个回答  2018-04-29
A=zeros(100,100);
for i=1:100
for j=1:100
if (i==j)
A(i,j)=1;
else A(i,j)=0;
end
end
end
A
第4个回答  2018-04-29
用B=zeros(d1,d2,d3……)生成d1×d2×d3×……全零矩阵,要多少维就写多少个参数