为什么我会得到“RuntimeWarning:在双_标量中遇到无效值”?

2024-10-04 03:23:22 发布

您现在位置:Python中文网/ 问答频道 /正文

在执行某些脚本时,我遇到以下错误:

main.py:13: RuntimeWarning: invalid value encountered in double_scalars

我的代码是:

import numpy as np
def newton(F , J, x0 , tolerancia):
  x= x0
  error = 1e3
  n = 0
  while error > tolerancia:
    diferencialx = -np.linalg.solve(J(*x),F(*x))
    error = np.linalg.norm(diferencialx)/np.linalg.norm(x)
    x+=diferencialx
    n+=1
  print("interaciones : ", n)
  return x 
F = lambda x1, y1 : [77*pow(x1,0.5)*pow(y1,1)-770 , 78*pow(x1,0.3)*pow(y1,0.8)- 376]
J = lambda x1, y1 : [[77*(0.5)*pow(y1, 1)*pow(x1,-0.5), 77*pow(x1,0.5)], [78*0.3*pow(x1,-0.7)*pow(y1,0.8),78*0.8*pow(x1, 0.3)* pow(y1, -0.2)]]
newton(F, J ,[9,9] , 1e-6)

是什么导致了这个错误


Tags: lambda脚本normmain错误npnewtonerror