考虑以下代码X=np.matrix([[1,-1,1],[-1,0,1]])print X.T'''[[ 1 -1] [-1 0] [ 1 1]]'''我想检查是否存在一个解决方案,其中转置有一个1*y1 + -1*y2 < 0-1*y1 + 0*y2 < 01*y1 + 1*y2 < 0试过阅读,但显然没有这样的运气 最佳答案 以下是您需要的文档:numpy apply along axisimport numpy as np:def func(b,y1,y2): a = b.T if a[0]*y1 + a[1]*y2 < 0: return True else: return Falsenp.apply_along_axis(func,0,X,y1,y2)现在假设你想要y1为-1,y2为3:>>> np.apply_along_axis(func,0,X,-1,3)array([ True, False, False], dtype=bool)所以这意味着在转置第一行(这将是正常的第一列)与您的算法,第二和第三不!这是一个函数,用于任意数量的y,如您所需的任意大的矩阵:def func(b,*args): a = b.T total = [a[i]*args[i] for i in range(len(args)-1)] if sum(total) < 0: return True else: return False关于python - numpy检查是否存在解决方案,以使每行<0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16717951/
10-11 18:16