将3D阵列重塑为2D

时间:2016-09-21 12:00:09

标签: matlab reshape

查看以下玩具示例:

m = 3;
n = 3;
Y = rand(m,n,2);

例如给我

  

y(:,:,1)=

0.8314    0.3993    0.6569
0.8034    0.5269    0.6280
0.0605    0.4168    0.2920

y(:,:,2)=

0.4317    0.1672    0.1981
0.0155    0.1062    0.4897
0.9841    0.3724    0.3395

现在我使用

重塑它
reshape(Y,m*n,2)

它扰乱了秩序并给了我,

0.8314    0.4317
0.8034    0.0155
0.0605    0.9841
0.3993    0.1672
0.5269    0.1062
0.4168    0.3724
0.6569    0.1981
0.6280    0.4897
0.2920    0.3395
     

因为第二行应该是

0.3993    0.1672

这可以在重塑之前进行交叉检查

Y(1,1,:)
Y(1,2,:) 
etc. 

订单更改。

PS:我在神经网络中输入了大量数据,这会影响我的权重乘以。

1 个答案:

答案 0 :(得分:2)

permute添加reshape,然后添加https://nikolak.com/pyqt-threading-tutorial/,就像这样 -

public interface INode
{
    //assume lots of methods following this signature... Node MethodXXXX(DateTime date)
    INode GetParent(DateTime date);
}


public class Node : INode
{

    INode GetParent(DateTime date)
    {
        return null;
    }
}


public class DatedNode
{
    private INode _referencedNode;
    private DateTime _date;

    public INode Do(Func<??, INode> func)
    {
        return ???
    }
}

示例运行 -

reshape(permute(y,[2,1,3]),[],size(y,3))