В 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:n
в команду eval
вместе со string
переменной, которая содержит столько ,:
s, сколько нужно?