求n阶勒让德多项式 |
您所在的位置:网站首页 › 用递归函数实现勒让德多项式 › 求n阶勒让德多项式 |
//问题描述: //用递归方法求n阶勒让德多项式的值,递归公式为 //n = 0 pn(x) = 1 //n = 1 pn(x) = x //n > 1 pn(x) = ((2n - 1)x pn - 1(x)-(n - 1)* pn - 2(x)) / n //结果保留2位小数 #include float rd(int n,int x) { float r; if (n == 0) return 1; else if (n == 1) return x; else r = ((2 * n - 1) * x * rd(n - 1, x) - (n - 1)*rd(n - 2, x)) / n; return r; } int main() { int n, x; float i; printf("请输入阶数:"); scanf_s("%d", &n); printf("请输入x:"); scanf_s("%d", &x); i = rd(n, x); printf("%.2f", i); system("pause"); return 0; }运行结果: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |