24小时热门版块排行榜    

查看: 2092  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

H_LG

银虫 (正式写手)

[求助] matlab三维数组矩阵延拓问题

各位大侠,请教,matlab有没有对三维矩阵进行边界延拓的函数?比如,a=reshape(1:27,3,3,3),对a的行、列以及第三维度进行对称延拓?

[ 来自小组 控制&图像家族 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

邢台学院学生论坛:http://www.xtxybbs.com
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
ben_ladeng: 金币+2, 专家考核, 谢谢指教 2013-09-13 19:48:31
引用回帖:
4楼: Originally posted by H_LG at 2013-09-10 21:55:36
是说用0(或其他数字)把3×3×3的矩阵包裹起来...

这个问题很简单,因为matlab的矩阵下标是直接操作的,
举个例子,你有一个2x2x2的三维矩阵,数据都1(其实是什么数据无所谓,为了观察直观,非0数据即可)
然后用0(其他数字也行)将其包裹,变为4x4x4的三维矩阵,边界都是0
CODE:
a = ones([2,2,3])
b = zeros([4,4,3]);
b(2:3,2:3,:) = a;
a = b

结果
CODE:
a(:,:,1) =

     1     1
     1     1


a(:,:,2) =

     1     1
     1     1


a(:,:,3) =

     1     1
     1     1


a(:,:,1) =

     0     0     0     0
     0     1     1     0
     0     1     1     0
     0     0     0     0


a(:,:,2) =

     0     0     0     0
     0     1     1     0
     0     1     1     0
     0     0     0     0


a(:,:,3) =

     0     0     0     0
     0     1     1     0
     0     1     1     0
     0     0     0     0

>>  

但是如果你要用来包裹原矩阵的数据不规则(矩阵b),可能需要手工生成矩阵b
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
6楼2013-09-11 17:27:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

baobiao007

木虫 (职业作家)

中国特色


jjdg: 金币+1, 感谢参与 2013-09-11 00:52:36
啥叫   对称延拓。  最好用一个例子讲清你的问题
我同意叔本华的观点,人们投身艺术和科学领域的强烈愿望之一就是逃离痛苦、残酷和枯燥无味的现实生活,逃离自己飘忽不定的七情六欲的桎梏。--爱因斯坦
2楼2013-09-10 16:20:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acalephs

捐助贵宾 (著名写手)

是说用0(或其他数字)把3×3×3的矩阵包裹起来?还是把一维矩阵变成3维?
3楼2013-09-10 16:27:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

H_LG

银虫 (正式写手)

引用回帖:
3楼: Originally posted by acalephs at 2013-09-10 16:27:51
是说用0(或其他数字)把3×3×3的矩阵包裹起来?还是把一维矩阵变成3维?

是说用0(或其他数字)把3×3×3的矩阵包裹起来
邢台学院学生论坛:http://www.xtxybbs.com
4楼2013-09-10 21:55:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见