我正在尝试使用循环如下填充两个零数组中的最大值:
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)
,会收到不可调用的错误?
答案 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))
答案 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))