【发布时间】:2016-05-12 19:53:26
【问题描述】:
我正在使用 Legendre 多项式的生成函数(无论它是什么数学实体),为此我需要使用“syms”类型,然后通过“diff”函数求导。
function p=Plm(l,m)
syms x
p = diff((x^2-1)^l,m);
end
那么这个函数的输出“p”应该用来取定积分为
fun = @(x) Plm(l,m).*cos(x).^2
integral(fun,-1,1)
其中“l”和“m”可以替换为任何正整数。 Matlab 给出的错误是它不能对来自“p”的符号 x 进行积分。有什么办法可以解决这个问题?
【问题讨论】:
-
我确定,这是因为
p的类型为sym。此外,您将p与给出0的m区分开来,因为p不是m的函数。 -
什么是
l?请发布完整的示例。 -
@AnderBiguri,我修改了代码。
-
@AminR。 Brainkx 是正确的。
p不依赖于 m,因此它应该是零(如果你尝试的话,它是零) -
另外
fun没有意义,它的定义错误。
标签: matlab integration symbolic-math