Я хочу найти среднее значение 1-й и 22-й строк, 2-й и 23-й строк и т. д. матрицы 42 на 4. Первый и 22-й ряды:
0 0 -30 -2.49000000000000
0 0 -30 -2.38000000000000
Как я могу найти среднее значение каждого столбца в этих двух строках?
Я хочу найти среднее значение 1-й и 22-й строк, 2-й и 23-й строк и т. д. матрицы 42 на 4. Первый и 22-й ряды:
0 0 -30 -2.49000000000000
0 0 -30 -2.38000000000000
Как я могу найти среднее значение каждого столбца в этих двух строках?
Если вам нужно среднее значение каждого столбца двух строк, вы можете использовать что-то вроде
mean(t([1,22],:));
это приведет к
0 0 -30.0000 -2.4350
MATLAB имеет специальный синтаксис для индексации матриц, и вы можете узнать об этом, набрав
help :
Теперь предположим, что ваша матрица
M = randn(42,4); %generating a random matrix with 42 rows and 4 columns
Затем вы можете вычислить среднее значение желаемых строк, используя простое сложение и среднее значение:
rowmeans = ( M(1:21,:) + M(22:end,:) ) / 2;
который создаст матрицу, содержащую 21 строку и 4 столбца, где каждая строка является желаемым средним значением.
В более общем случае для усреднения верхней и нижней половины матрицы с четным числом строк:
rowmeans = ( M(1:end/2,:) + M(end/2+1:end,:) ) / 2;
Вы также можете узнать о ключевом слове end
в MATLAB:
help end