python - Legendre多项式的计算,学习
问题描述
我正在尝试从我在网上找到的课程中解决这个练习。(如果你认识这个问题,请告诉我你对这门课程的看法)。我一直在研究如何解决这个问题,但我的计算一直存在错误,我认为这主要是因为我不确定输出将如何以及如何编写函数的某些部分。我会虚心接受任何善意的解释和建议,我还有很长的路要走,所以我会在身边。
这是问题,
勒让德多项式定义为:
()=∑=0(−1)(2−2)!2!(−)!(−2)!−2
其中 =/2 如果 n 为偶数,或 (-1)/2 如果为奇数。!表示“m 的阶乘”,例如 4! = 1 * 2 * 3 * 4 = 24。你可以这样计算:from math import factorial factorial(4) 24
这是一个有用的计算函数:
import numpy as np
def M(n):
if np.mod(n, 2) == 0: # this means n is even.
return int(n / 2)
else:
return int((n - 1) / 2)
编写一个计算 P(x, n) 的函数,并在 x=-1 到 x=1 的范围内绘制 n=3 和 n=4 的函数。
import scipy as sp
P_tot = []
x = np.linspace(-1,1,10)
n = [3,4]
def P(x,n):
return ((-1)**M(n))*((factorial(2*n-2*M(n)))/((2**n)*factorial(M(n))*factorial(n-M(n))*factorial(n-2*M(n))))*(x**(n-2*M(n)))
x = np.linspace(-1,1,10)
n = [3,4]
Px,pn = P(x,n)
P_tot += [Px,pn]
ValueError Traceback (最近一次调用最后一个 ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
我迫不及待地想看看它是多么容易,我是否错过了。
谢谢你的时间。
解决方案
推荐阅读
- html - 无论如何要使用弹性仪表板填充图表区域上的空间?每个图表区域有两个输出?
- excel - 基于标准跨多列平均数据(excel)
- ios - 为什么删除不存在的 CloudKit 记录显然会成功?
- python - 我收到此错误:“ValueError:int() 的无效文字,基数为 10:'',但它仍然有效
- arrays - 如何在 JuMP 中初始化与模型相关的空约束数组?
- docusignapi - Error calling CreateRecepientView: Unknown_envelope_Recipient
- javascript - JS - 用数组过滤数组(包括对象)
- r - 如何在 R 中没有循环的情况下快速访问列表列表中的元素?(谷歌方式包)
- snowflake-cloud-data-platform - Snowflake-如何获取现有表的sql脚本
- java - 如何在 JAR 文件中的 Jetty 服务器中启用 JSP?