У меня есть следующая проблема в моей симуляции.
A
- это массив 24 x 2
. Я собираюсь разделить его и получить 4 или 12 массив. Это означает, что я группирую 6 или 2 массива. Все будет хорошо, если я использую даже коэффициент «сплит». Если это нечетно, я не могу разделить A
. [Я не могу сгруппировать 5 или 7, потому что 24/5 = 4 * 5 + 4 (или 5 * 5 -1) или 24/7 = 7 *3 + 3.
Вот почему я собираюсь сделать следующее:
Если у меня есть 24 x 2
и мне нужна группа каждые 5 вместе:
block 1 : A(1,:), A(2,:),A(3,:),A(4,:),A(5,:)
block 2 : A(6,:), A(7,:),A(8,:),A(9,:),A(10,:)
block 3 : A(11,:), A(12,:),A(13,:),A(14,:),A(15,:)
block 4 : A(16,:), A(17,:),A(18,:),A(19,:),A(20,:)
block 5 : A(21,:), A(22,:),A(23,:),A(24,:), ?
Как вы можетевидите, 5-й блок не заполнен, Matlab выдает мне ошибку. Моя идея состоит в том, чтобы создать A (25,:) = 0. Для моего моделирования это будет нормально. Я собираюсь смоделировать его как function
:
A=rand(m,n)
w- # number of a vector that i would like group together ( in ex., it is `5`)
if mod(w,2)==0
if mod(m,2)==0
% do....
else
% remainder = 0
end
else
if mod(m,2)==0
% remainder = 0
else
%do...
end
Я собирался смоделировать, как указано выше, но потом я заметил, что это не работает. Потому что 24/10 = 2 * 10 + 4. Поэтому я должен написать что-то еще
Я могу найти напоминание как r = rem(24,5)
. Как пример выше, MatLab дает мне r=4
. Затем я могу найти разницу c= w-r =1
, и после этого я не знаю, как это сделать.
Не могли бы вы подсказать мне, как смоделировать такой расчет?