Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我正在将一组N值传递给循环,但无法让它打印输出_Python_Loops_Numpy_Error Handling - Fatal编程技术网

Python 我正在将一组N值传递给循环,但无法让它打印输出

Python 我正在将一组N值传递给循环,但无法让它打印输出,python,loops,numpy,error-handling,Python,Loops,Numpy,Error Handling,当我将数字传递给函数时,似乎无法获得输出。我需要得到计算出的值,然后从精确值中减去它。是不是有什么我不明白的地方 def f1(x): f1 = np.exp(x) return f1; def trapezoid(f,a,b,n): '''Computes the integral of functions using the trapezoid rule f = function of x a = upper limit of the function b =

当我将数字传递给函数时,似乎无法获得输出。我需要得到计算出的值,然后从精确值中减去它。是不是有什么我不明白的地方

def f1(x):
  f1 = np.exp(x)
  return f1;
def trapezoid(f,a,b,n):
   '''Computes the integral of functions using the trapezoid rule
   f = function of x
   a = upper limit of the function
   b = lower limit of the function
   N = number of divisions'''
   h   = (b-a)/N
   xi  = np.linspace(a,b,N+1)
   fi  = f(xi)
   s   = 0.0
   for i in range(1,N):
       s = s + fi[i]
   s = np.array((h/2)*(fi[0] + fi[N]) + h*s)
   print(s)
   return s
exactValue = np.full((20),math.exp(1)-1)
a  = 0.0;b = 1.0  # integration interval [a,b]
computed = np.empty(20)
E=np.zeros(20)
exact=np.zeros(20)
N=20
def convergence_tests(f, a, b, N):
 n = np.zeros(N, 1);
 E = np.zeros(N, 1);
 Exact = math.exp(1)-1
 for i in range(N):
   n[i] = 2^i
   computed[i] = trapezoid(f, a, b, n[i])
   E = abs(Exact - computed)
 print(E, computed)
 return E, computed 

您已经定义了几个函数,但主程序从未调用其中任何一个。事实上,不能调用父函数convergence_test,因为它是在程序底部定义的

我建议你使用增量编程:写几行;在继续执行代码中的下一个小任务之前,先测试这些。在文章中,您已经编写了大约30行活动代码,但没有意识到实际上没有一行代码能够执行。在这方面很可能还有其他几个错误;您可能很难修复所有这些问题,以获得预期的输出


从小处开始,以增量方式增长。

您能否具体说明向哪个函数传递的参数工作不正常?您定义了一个名为f1的函数,但从未调用过它……代码第一部分中定义的梯形函数我称之为@f1。同样的问题这里有一个以上的错误-请努力阅读定义函数和调用函数的基础知识。另外,我建议安装一个好的Python编辑器,我喜欢PyCharm,它是免费的,因为它会自动指出代码中的一些错误,帮助您更快地学习。谢谢。我需要这个。我对编码有点陌生。这样做了吗,还是没有结果导入numpy作为np导入数学导入梯形作为梯形def f1x:f1=np.expx返回f1 a=0b=1m=20def收敛性测试sf,a,b,N:Err=np.zerosN,1t=np.zerosN精确=np.full20,math.exp1-1对于范围M中的I:N=2*I对于范围N:T中的j[j] =梯形图1,a,b,nz=收敛性测试如果您希望得到代码方面的帮助,我们需要您将其作为代码发布,而不是作为单行注释发布。此外,您发布的内容绕过了我对增量编程的建议。