相关疑难解决方法(0)

将长2D矩阵分割成第三维

说我有以下矩阵:

A = randi(10, [6 3])
     7    10     3
     5     5     7
    10     5     1
     6     5    10
     4     9     1
     4    10     1
Run Code Online (Sandbox Code Playgroud)

我想提取每两行并将它们放入第三维,因此结果如下:

B(:,:,1) =
     7    10     3
     5     5     7
B(:,:,2) =
    10     5     1
     6     5    10
B(:,:,3) =
     4     9     1
     4    10     1
Run Code Online (Sandbox Code Playgroud)

我显然可以使用for循环执行此操作,只是想知道如何使用permute/reshape/.. 更加优雅地进行单线程(注意矩阵大小和步骤必须是参数)

% params
step = 5;
r = 15;
c = 3;

% data
A = randi(10, [r c]);
B = zeros(step, c, r/step); …
Run Code Online (Sandbox Code Playgroud)

matlab matrix vectorization multidimensional-array

13
推荐指数
1
解决办法
2154
查看次数

总结到一定的间隔

如何计算间隔的总和.我将使用Matlab的代码,例如.

data=[1;2;3;4;5;6;7;8;9;10;11;12]
Run Code Online (Sandbox Code Playgroud)

我想执行此总结.

sum(1)=data(1)+data(2)+data(3)
sum(2)=data(4)+data(5)+data(6)
sum(3)=data(7)+(data(8)+data(9)
sum(4)=data(10)+data(11)+data(12)
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个?(使用for循环)

matlab

1
推荐指数
1
解决办法
678
查看次数