【问题标题】:How to select the average value from 3 matrices如何从 3 个矩阵中选择平均值
【发布时间】:2016-06-21 02:34:00
【问题描述】:

我是 MATLAB 新手,需要帮助。我有 3 个矩阵(ABC),我想创建一个包含平均值的新矩阵 average_ABC

A = [ 0.3   0.5   0.9
     0.14  0.36   0.1
      0.9   0.5  0.14]

B = [ 0.8   0.9  0.14
      0.1  0.25   0.4
      0.8  0.14  0.25]

C = [0.25   0.3  0.47
     0.12   0.3   0.2
     0.14  0.56   0.9]

生成的矩阵将是

average_matrix = [ 0.3   0.5  0.47
                  0.12  0.25   0.2
                   0.8   0.5  0.25]

请给点建议,我该怎么做?

【问题讨论】:

    标签: matlab matrix


    【解决方案1】:

    您可以首先沿第三维连接矩阵(使用cat),然后使用可用于大多数函数的dim 参数计算您想要的任何内容,以指定您希望沿第三维执行该操作.

    您还声明您想要平均值 (mean),但根据您的示例,您实际上想要 median。无论哪种方式,我们都可以使用这种方法计算它们。

    data = cat(3, A, B, C);
    
    % Compute the mean
    mean(data, 3)
    
    %     0.45      0.56667      0.50333
    %     0.12      0.30333      0.23333
    %  0.61333          0.4         0.43
    
    % Compute the median (which seems to be what you actually want)
    median(data, 3)
    
    %      0.3          0.5         0.47
    %     0.12          0.3          0.2
    %      0.8          0.5         0.25
    

    【讨论】:

      【解决方案2】:

      我希望这会奏效

      average_matrix=(A+B+C)/3.;
      

      【讨论】:

      • 不,解决方案
      • '因为它是./3 而不是/3.
      • 据我了解,您不需要平均值,而是需要中位数。
      • @MatthiasW。这种区别与标量无关。我想后面的 . 来自其他语言,这些语言不像 Matlab 那样默认为双精度。
      猜你喜欢
      • 1970-01-01
      • 2016-11-16
      • 2018-04-28
      • 2016-09-04
      • 2018-10-13
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多