总结双精度矩阵中每一行的特定列

问题描述 投票:0回答:1

我想使用for循环求和矩阵中每一行的特定列。下面,我包括了我的问题的简化版本。截至目前,我正在单独计算列的总和,但这并不有效,因为我的实际问题有多个矩阵(数据集)。

a = [1 2 3 4 5 6; 4 5 6 7 8 9];
b = [2 2 3 4 4 6; 3 3 3 4 5 5];
% Repeat the 3 lines of code below for row 2 of matrix a
% Repeat the entire process for matrix b
c = sum(a(1,1:3));                   % Sum columns 1:3 of row 1
d = sum(a(1,3:6));                   % Sum columns 3:6 of row 1
e = sum(a(1,:));                     % Sum all columns of row 1

我想知道如何创建一个for循环,该循环自动循环并求和我拥有的每个矩阵的每一行的特定列。

谢谢。

matlab for-loop matrix nested-forms
1个回答
0
投票

基于此评论:

假设我生成一个随机矩阵g = rand(37,100),然后使用sum(g(:, 1:50),37),结果将以37 x 50矩阵的形式出现。我想要的是一个37 x 1的矩阵,即每一行代表矩阵中每一行的列1:50的总和。

您想对每一行的所有元素求和,如下所示:

r = rand(5,3)
row_sum = sum(r, 2)

r =
   0.904037   0.566372   0.846688
   0.232363   0.316360   0.592821
   0.756843   0.170020   0.475629
   0.980732   0.547367   0.060440
   0.709558   0.946728   0.784932
row_sum =
   2.3171
   1.1415
   1.4025
   1.5885
   2.4412

虽然这与您问题中的代码的作用不同。

© www.soinside.com 2019 - 2024. All rights reserved.