如何在Python的零数组中找到最大值?

时间:2018-10-31 13:30:31

标签: python numpy

我正在尝试使用循环如下填充两个零数组中的最大值:

dydx = zeros(n+1)
error = zeros(n+1)


for i in range(n):
    dydx[i]=(y[i+1]-y[i])/h
    error[i]= cos(i)-dydx[i]

如果我尝试找到i = np.argmax(dydx),会收到不可调用的错误?

3 个答案:

答案 0 :(得分:3)

尝试使用np.max(dxdy)

它应该为您提供最大值。

答案 1 :(得分:0)

您是否要解决欧拉的价值。即像这样的东西?

import numpy as np

x0=0
y0=1
xf=10
n=101
deltax=(xf-x0)/(n-1)
x=np.linspace(x0,xf,n)
y = np.zeros( [n] )
y[0]=y0

for i in range(1,n):
    y[i] = deltax*(-y[i-1] + np.sin(x[i-1]))+y[i-1]

#for i in range ( n ) :
#    print ( x[i] , y[i] )

print(max(y))

REF

答案 2 :(得分:0)

以上是您的完整代码,并且您正在使用zeros()作为函数或列表zeros=[]?如果是列表,则无法调用。当我尝试以下操作时,不会返回错误:

def zeros():
  n=0
  dydx = zeros(n+1)
  error = zeros(n+1)


  for i in range(n):
      dydx[i]=(y[i+1]-y[i])/h
      error[i]= cos(i)-dydx[i]

  print (i = np.argmax(dydx))