【问题标题】:Calculate max and min of three matrices计算三个矩阵的最大值和最小值
【发布时间】:2019-05-21 01:30:29
【问题描述】:

我有三个矩阵,我想计算 R1 的最小值和最大值以及 Ex1 和 Ex2 的第一列。我将最小值保存在 Il 中,将最大值保存在 Ih 中。当我评估最大值时,矩阵Il变为Ih,不知道为什么。此外,最大值的计算实际上并不是最大值。下面给出了代码以及观察到的和预期的输出。人们会期望第一个和第三个 print 语句给出相同的输出,但事实并非如此。

import numpy as np

Rl = np.matrix([[70,15,10,15,65]]).transpose()
Ex1 = np.matrix([[20,10,40,2,40] ,[ 55,22,50,10,60], 
[80,40,75,25,80]]).transpose()
Ex2 = np.matrix([[30,20,30,10,50],[50,30,50,20,60], 
[60,40,70,30,70]]).transpose()
Il = np.minimum(Rl[:,0],Ex1[:,0],Ex2[:,0])
print("Il =\n {}\n".format(Il))
Ih = np.maximum(Rl[:,0],Ex1[:,0],Ex2[:,0])
print("Ih =\n {}\n".format(Ih))
print("Il =\n {}\n".format(Il))

实际结果

Il =
 [[20]
 [10]
 [10]
 [ 2]
 [40]]

Ih =
 [[70]
 [15]
 [40]
 [15]
 [65]]

Il =
 [[70]
 [15]
 [40]
 [15]
 [65]]

预期结果

Il =
 [[20]
 [10]
 [10]
 [ 2]
 [40]]

Ih =
 [[70]
 [20]
 [40]
 [15]
 [65]]

Il =
 [[20]
 [10]
 [10]
 [ 2]
 [40]]

【问题讨论】:

    标签: python python-3.x numpy max min


    【解决方案1】:

    Numpy 的 .minimum().maximum() 根本不能用于两个以上的数组。第三个参数被解释为输出数组,因此您将覆盖 Ex2 并每次打印其修改后的内容。

    【讨论】:

      【解决方案2】:

      由于 np.minimum()np.maximum() 一次只比较 2 个数组,您可以嵌套它们以比较 3 个。例如:

      import numpy as np
      
      a = np.matrix([[70,15,10,15,65]]).transpose()
      b = np.matrix([[20,10,40,2,40],[55,22,50,10,60],[80,40,75,25,80]]).transpose()
      c = np.matrix([[30,20,30,10,50],[50,30,50,20,60],[60,40,70,30,70]]).transpose()
      
      abc_min = np.minimum(np.minimum(a[:,0], b[:,0]), c[:,0])
      abc_max = np.maximum(np.maximum(a[:,0], b[:,0]), c[:,0])
      
      print("abc_min =\n {}\n".format(abc_min))
      print("abc_max =\n {}\n".format(abc_max))
      # OUTPUT
      # abc_min =
      #  [[20]
      #  [10]
      #  [10]
      #  [ 2]
      #  [40]]
      # 
      # abc_max =
      #  [[70]
      #  [20]
      #  [40]
      #  [15]
      #  [65]]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-19
        • 2014-06-17
        • 1970-01-01
        • 1970-01-01
        • 2021-11-26
        • 1970-01-01
        • 2015-10-29
        • 2021-03-19
        相关资源
        最近更新 更多