Подстановка прямоугольной матрицы

R.Islam спросил: 13 июня 2018 в 08:02 в: matlab

У меня есть матрица 5139 x 30 и интересно, как я могу разбить ее на 39 подмножеств в условии цикла цикла в MATLAB.

Моя цель: первое подмножество будет иметь 132 строки & все столбцы. Второе подмножество имеет 132 + 132 строки & все столбцы и третье подмножество имеют 132 + 132 + 132 строки & все столбцы.

Это будет продолжаться до достижения 5139 строк.

Спасибо.


2 ответа

Cris Luengo ответил: 14 июня 2018 в 11:56
R(R>m)=m - это интересный способ сделать это. Но я бы предложил R=min(R,m) для чтения.
Есть решение
Hunter Jiang ответил: 14 июня 2018 в 12:25
По вашему комментарию, я считаю, что код, следующий может достичь своей цели:
%%generate the data and find the boundary of the data
Data=rand(5139,30);
[m,~]=size(Data);%%calculate the index of every subset and split the data
L=1;
R=132;
Subset=cell(39,1);
for ii=1:39
  Subset{ii}=Data(L:R,:);
  R=R+132;
  R=min(R,m);
end

Edit: полезный комментарий спасибо @CrisLuengo "s, который добавляет читаемость кода.

Hunter Jiang ответил: 14 июня 2018 в 12:31
@CrisLuengo Согласен, спасибо, что напомнил мне об этом. Я уверен, что тест GRE требует от меня времени и навыков программирования. :-( [Во всяком случае, я просто шучу.]
Cris Luengo ответил: 14 июня 2018 в 01:14
Не за что. Удачи в тестировании!

Дополнительное видео по вопросу: Подстановка прямоугольной матрицы

MATLAB 04 Массивы и матрицы

Системы уравнений, определители, обращение матриц. Методы вычислений в MATLAB. Урок 73

MatLab. 3. 3a. Сложение, вычитание, умножение, транспонирование и возведение в степень