24小时热门版块排行榜    

查看: 6270  |  回复: 1

舌尖味蕾

新虫 (小有名气)

[求助] matlab将多个同大小的二维矩阵放在一个三维矩阵里 已有1人参与

例如:二维矩阵名从1到100,共100个。构建一个三维数组M(,,100),数组中的前两项为1至100个矩阵。
换句话说,将100个矩阵按照1到100的顺序罗列,构成一个三维的
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

黎明霜露

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
舌尖味蕾: 金币+50, ★★★★★最佳答案 2015-10-17 08:46:33
使用cat命令,M=cat(100,A1,A2,A3,...,A100);其中的...是省略的意思,100代表三维矩阵有100页,后面的Ai(i=1,2,3,...,100)是你所说的100个二维矩阵的名称,你要全部罗列出来才可以。下面给出一个使用rand函数生成随机二维矩阵,然后存入三维矩阵的例子:
方法1:
for k=1:100
a=rand(100);%你可以把a换成你的矩阵,但是不要使用rand命令
M(:,:,k)=a;
end
方法2:或者用下面的命令
a1=[1 2 3;4 5 6;7 8 9];a2=[2 3 4;7 5 3;1 6 9];a3=[5 8 6;2 4 9;3 6 7];...%罗列出100个矩阵到a100
A=[a1,a2,a3];%在方括号内加入矩阵到a100
M=reshape(A,3,3,3);%若有100个矩阵,请将最后一个3改为100,这样的话,M是三维矩阵,对应页存储的就是二维矩阵
方法3:或者使用下面的命令
a1=[1 2 3;4 5 6;7 8 9];a2=[2 3 4;7 5 3;1 6 9];a3=[5 8 6;2 4 9;3 6 7];...,a100=[4 2 9;6 4 3;1 4 8];%罗列出100个矩阵到a100
M=cat(100,a1,a2,a3,...,a100);
2楼2015-10-16 09:48:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 舌尖味蕾 的主题更新
信息提示
请填处理意见