⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 plgndr.cpp

📁 此程序为VC++常用数值算法这本书附赠的光盘中包含了本书中全部的源代码
💻 CPP
字号:
double plgndr(double l, double m, double x)
{
	int ll,i;
	double pmm,somx2,fact,temp,pmmp1,pll;
    if( m < 0 || m > l || fabs(x) > 1.0)
		cout<<"bad arguments";
    pmm = 1.0;
    if (m > 0)
	{
        somx2 = sqrt((1.0 - x) * (1.0 + x));
        fact = 1.0;
        for( i = 1; i<=m; i++)
		{
            pmm = -pmm * fact * somx2;
            fact = fact + 2.0;
        }
    }
    if (l == m)
	{
        temp = pmm;
	}
    else
	{
        pmmp1 = x * (2 * m + 1) * pmm;
        if (l == m + 1)
		{
            temp = pmmp1;
		}
        else
		{
            for (ll = m + 2; ll<=l; ll++)
			{
                pll = x * (2 * ll - 1) * pmmp1 - (ll + m - 1) * pmm;
                pll = pll / (ll - m);
                pmm = pmmp1;
                pmmp1 = pll;
            }
            temp = pll;
        }
    }
	return temp;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -