在 Matlab 中截断指定维度的数组

在 Matlab 中截断指定维度的数组

在 Matlab 中,是否pad存在一个命令,它也填充负维度
(因此删除指定维度中的索引)?

[编辑:我知道有事情做了这个 -fft为了输入而这样做,但它也采取了fft第一个。]

x我有一个可以接收维度输入数据的函数n_dim

我想n从用户指定的维度中删除除数据点之外的所有数据点dim
我可以使用shiftdim始终将指定维度设为第一维度;
但是,如何编写代码,以便不需要有限数量的冒号
来表示输入数据的维度x

x   = rand(01,12,01); % n_dim = 1  
y   = rand(04,12,01); % n_dim = 2  
z   = rand(04,12,07); % n_dim = 3

n   = 3

看:

dim = 1
y = y(1:n, :    );
z = z(1:n, :, : ); % Note that extra colons are needed depending on n_dim.

或者:

dim = 2

x = x(   1:n    );
y = y(:, 1:n,   );
z = z(:, 1:n, : ); % Note that extra colons are needed depending on n_dim.

我是否需要使用shiftdim命令将其放置dim在第一个维度中,
然后将它 与包含所需数量的变量一起放置1:neval命令中?
string,:

相关内容