1

В 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, сколько нужно?

0