继续收到错误消息“操作数无法与形状一起广播(3,)(2,)”如何解决此问题?

问题描述:

我的问题是,我想在python中创建一个函数,它需要两个向量的输入; M = metabolic产热和g = thermal电导,以及返回和输出T,这是一个Nm×Ng(其中N =相关向量中的元素数目)矩阵,其包含存活温度的值。这些值来公式T_f,他们需要被插入到矩阵T 我的问题是,每次我想我的代码运行时我收到错误消息:继续收到错误消息“操作数无法与形状一起广播(3,)(2,)”如何解决此问题?

operands could not be broadcast together with shapes (3,) (2,). 

当错误信息从起源T_f公式。我如何解决这个问题,我如何从T_f中取值并将它们组合到矩阵T中? 我的代码如下:

import numpy as np 
def survivalTemperature(M,g): 
    if (np.all([M])>=50 or np.all([M]) <=500) or (np.all([g])>=0.04 or np.all([g])<=0.45): 
     T_f = 36-(((0.9*M-12)*(g+0.95))/27.8) 
     T = T_f 
    else: 
     T = "RangeError" 
    return T 
print(survivalTemperature(np.array([50,200,300]),np.array([0.20,0.14]))) 

两个数组必须是相同的形状。最后一行有3元素,另一行有2。他们都必须有相同数量的元素,请参阅Numpy Broadcasting Rules获取更多帮助。