Как найти максимальное значение в массиве нулей в Python? - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь найти максимальное значение в двух массивах нулей, которые я заполнил, используя цикл следующим образом:

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 голосов
/ 31 октября 2018

Вы пытаетесь решить значение Эйлера. То есть как то так?

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

0 голосов
/ 31 октября 2018

Выше полный код, и вы используете 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))
0 голосов
/ 31 октября 2018

Попробуйте использовать np.max(dxdy).

Это должно дать вам максимальное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...