单例的渔政船最后一维矩阵

116(30天)
伯纳德
伯纳德 2011年11月22日
评论道: 骑自行车的人 2023年5月29日在十八33
你好,
我如何在matlab中创建一个单维度作为最后的维度,例如,大小= 64 64 1。
我试着重塑(x,[64 64 1]),但合成矩阵64 x64,不是64 x64x1。同样与交换。
感谢任何帮助!
8的评论
骑自行车的人
骑自行车的人 2023年5月29日在十八33
我提名 @Stephen23 的评论 最好的评论超过10年之后最初的问题 奖。

登录置评。

接受的答案

骑自行车的人
骑自行车的人 2011年11月22日
MATLAB中的数组有隐含无限长系列的单维度。你可以索引没有问题。例如
> > x =兰德(3,3);
> > x (2、3、1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
是一个有效的索引 x
你想做什么,需要强调的是,数组是64 x64x1 ?

更多的答案(3)

Fangjun江
Fangjun江 2011年11月22日
除非你有进一步处理需要,真的不需要这样做。
> >大小(兰德(10))
ans =
10 10
> >大小(兰德(10),3)
ans =
1
> >大小(兰德(10),5)
ans =
1

大卫
大卫 2013年10月25日
拖单维度是有用的,我也希望他们。这是有用的convn之类的函数传递参数。我想计算离散衍生品的3 d数据集如下所示。失败因为重塑通过简单的偏导数计算滤波器代替3和3 x1。能让我实现这个愿望通过过滤器子集要补0,但是它的清洁:
% Bthree是121121161 3 d数组
%现在我们需要获得衍生品。我将试着简单线性卷积运算
%滤波函数。
dBdX = convn(重塑((5 0 5),3、1、1),Bthree,“相同”);
dBdY = convn(重塑((5 0 5),1,3,1),Bthree,“相同”);
dBdZ = convn(重塑((5 0 5),1,1,3),Bthree,“相同”);
1评论
大卫
大卫 2013年10月25日
别介意…convn确实根据需要添加额外的单维度——这不是工作的原因是相同的选择匹配第一个矩阵,没有第二个。所以这个修改工作原理:
dBdX = convn (Bthree,重塑((5 0 5),3、1、1),“相同”);
dBdY = convn (Bthree,重塑((5 0 5),1,3,1),“相同”);
dBdZ = convn (Bthree,重塑((5 0 5),1,1,3),“相同”);

登录置评。


欣关颖珊黄
欣关颖珊黄 2011年11月22日
64 x 64 x 1与所有适当的考虑是相同的64 x 64……
你知道为什么与0(5、5、1),0(5 5 2)和0 (5,5)
它一样说数据=[5]维度1和1 x1和1和1 x1x1x1…

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!