No Matlab, existe um comando pad
, que também preenche a dimensão negativa.
(portanto, removendo índices em uma dimensão especificada)?
[Edit: Eu sabia que algo fazia isso - fft
faz isso para a entrada, mas também leva o fft
primeiro.]
Eu tenho uma função que pode receber dados de entrada x
em n_dim
dimensions.
Gostaria de remover todos, exceto n
datapoints de uma dimensão especificada pelo usuário dim
.
Eu poderia usar shiftdim
para sempre fazer a dimensão especificada a primeira dimensão;
no entanto, como codifico de forma que eu não precise de um número finito de dois-pontos?
para representar as dimensões dos dados de entrada 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
veja:
dim = 1
y = y(1:n, : );
z = z(1:n, :, : ); % Note that extra colons are needed depending on n_dim.
ou:
dim = 2
x = x( 1:n );
y = y(:, 1:n, );
z = z(:, 1:n, : ); % Note that extra colons are needed depending on n_dim.
Preciso usar o comando shiftdim
para colocar dim
na primeira dimensão,
e, em seguida, coloque o 1:n
dentro do comando eval
junto com uma variável string
que contém quantos ,:
s, conforme necessário?
Tags matlab