急求::下面是用幂级数求圆周率近似值的C语言程序,但很复杂,我看不太懂,请高手解释每一步的执行过程和结果.

作者&投稿:权奇 (若有异议请与网页底部的电邮联系)
急求C语言/c++编程,用幂级数求圆周率近似值.~

//下面的程序经测试过是正确的。
#include
#include
double Arctan(double a,float x)
{
int i=0,s=1;
double d=0,d1=0,d2;
double y=0;
do
{
d2=d1;
y=pow(x,2*i+1);
d+=s*y/(double)(2*i+1);
s*=-1;
i++;
d1=d;
}
while(fabs(d1-d2)>=1e-5);
return a*d1;
}
void main()
{
double y1=0;
double y2=0;
double y3=0;
y1=Arctan(16,1.0/5);
printf("%lf
",y1);
y2=Arctan(4,1.0/239);
y3=y1-y2;
printf("%lf
",y3);
}

这个比较出名的程序,三行语句求PI
按公式PI/2 = ∑ (n! / (2n+1)!!) 计算Pi
计算2800项就可以精确到小数点后800位
正常的写法
#include "stdio.h"long b,c,d,e,f[2801];void main(){ for (int i = 0; i 0; c -= 14) { d = 0; for (b = c; b > 0; b--) { d += f[b] * 10000; f[b] = d % (2*b-1); d /= (2*b-1); if (b > 1) d *= (b-1); } printf("%.4d", e + d / 10000); e = d % 10000; }}

#include<stdio.h>
#include <string.h>
/*有如下数学公式:π/4=1-1/3+1/5-1/7+1/9-1/11+……*/
int main(void)
{
double PI = 0;
int num = 0;
int flag = 1;
printf("输入要循环的次数,循环次数越多结果越精确!\n");
scanf("%d",&num);
int i = 0;
/*用for循环实现*/
for (i = 0;i < num ;i++)
{
PI+= (1.0/(i*2+1)*flag);
flag *= -1;
}
/*计算出的PI为圆周率的四分之一*/
printf("π= %f\n",4*PI);
return 0;
}

π/4=1-1/3+1/5-1/7+1/9-1/11+……*/


幂级数怎么求?
解:1\/(1-x)²=【1\/(1-x)】=(∞∑n²·xⁿ)=∞∑n1·nx^n-1 例如:求x\/(1-x^2)展开为x的幂级数 f(x)=x\/(1-x^2)=x\/(1-x)(1+x)=(1\/2)*[1\/(1-x)1\/(1+x)]因为1\/(1-x)=∑(n=0,∞)x^n,x∈(-1,1)1\/(1+x)=∑(n=0,∞)(-x...

几个常用幂级数展开式
常用的幂级数展开式归纳如下图:

幂级数展开式怎么求?
函数展开成幂级数公式为:1\/(1-x)=∑x^n(-1),幂级数,是数学分析当中重要概念之一,是指在级数的每一项均为与级数项序号n相对应的以常数倍的(x-a)的n次方,n是从0开始计数的整数,a为常数。幂级数是数学分析中的重要概念,被作为基础内容应用到了实变函数、复变函数等众多领域当中。常用...

怎样求导函数的幂级数展开式?
arcsinx 展开成x的幂级数,先求导数的幂级数,再逐项积分,得到arcsinx的幂级数。如图所示:幂级数,是数学分析当中重要概念之一,是指在级数的每一项均为与级数项序号n相对应的以常数倍的(x-a)的n次方(n是从0开始计数的整数,a为常数)。幂级数是数学分析中的重要概念,被作为基础内容应用到了...

幂级数是如何展开的?
1. 指数函数的幂级数展开:指数函数$e^x$可以展开成幂级数形式。根据泰勒级数展开公式,$e^x$的幂级数展开为:$e^x = 1 + x + \\frac{x^2}{2!} + \\frac{x^3}{3!} + \\cdots 2. 正弦函数的幂级数展开:正弦函数$\\sin x$也可以展开成幂级数形式。根据泰勒级数展开公式,$\\sin ...

函数f(x)的幂级数怎么求?
常用泰勒公式把函数f(x)展开成幂级数的形式,通常会说在x=x0处展开,这首先要满足函数在领域(x0,δ)有定义,有直到n阶的导数f(x0),这样就可以在x=x0处用Taylor公式展开了。当然如果在x=0处满足上面的条件,那么可以在x=0处展开,这就是所谓的马克劳林公式,是泰勒公式的特殊情况。常用的...

幂级数的和函数怎么求
问题一:幂级数的和函数常见的步骤。途中怎么得出来的。求过程 利用无穷递缩等比数列的求和公式 S=首项\/(1-公比)|公比|<1 过程如下:问题二:求幂级数的和函数时的s怎么求 求幂级数的和函数的方法,通常是:A、或者先定积分后求导,或先求导后定积分,或求导定积分多次联合并用;B、运用公...

求下列幂级数的和函数 (2n-1)\/2^n*x^(2n-1)
简单计算一下即可,答案如图所示

幂级数和函数的求法与步骤
常用函数展开成的幂级数,如e的x次方,1\/1+x,sinx,cosx等,将要求的幂级数向熟悉的几个形式转换,一般答案是几个常用和函数的变形或组合。(注意n从几开始取值,少了哪几项,巧妙变换n的初始值,运用等比数列的求和公式等等)。x^2n\/2^n=(x²\/2)^n,令x²\/2=t,级数求和来就...

幂级数和函数怎么求
问题一:幂级数的和函数常见的步骤。途中怎么得出来的。求过程 利用无穷递缩等比数列的求和公式 S=首项\/(1-公比)|公比|<1 过程如下:问题二:幂级数的和函数到底是怎么求的?书上的例题看来看去也不明白在干啥呀…… 用求导及积分法比较好求:记f(x)=∑x^(2n-1)\/(2n-1)求导得:f'...

神木县19790684354: 急求C语言/c++编程,用幂级数求圆周率近似值. -
慕石美罗: //下面的程序经测试过是正确的.#include<stdio.h>#include<math.h> double Arctan(double a,float x) {int i=0,s=1;double d=0,d1=0,d2;double y=0;do{d2=d1;y=pow(x,2*i+1);d+=s*y/(double)(2*i+1);s*=-1;i++;d1=d;} while(fabs(d1-d2)>=1e-...

神木县19790684354: 如何用泰勒公式求圆周率的近似值 -
慕石美罗: 有泰勒级数: arctan x = x - x^3/3 + x^5/5 - ... (x≤1)取x=1, 则左边=arctan1=π/4,右边=1-1/3+1/5-1/7+1/9-...(无穷级数,正负交替,大小为1/(2n+1)) 所以π=4*(1-1/3+1/5-1/7+1/9-...)

神木县19790684354: 什么是级数,如何用它求圆周率 -
慕石美罗: 级数(series)就是一列有限的或无限表达式的和.如:1 + 2 + 3 + 4 = 10,是有限的数项级数.sin(x) = x - x^3/3! + x^5/5! - x^7/7! + …,是无穷的幂级数.用级数求圆周率,就是把圆周率先写成一个函数表达式,然后把这个函数写成无穷级数(...

神木县19790684354: 什么是级数,如何用它求圆周率通过级数可以得到arctanx=x - x^3/3+x^5/5 - x^7/7+...π/4=arctan0.5+arctan0.2+arctan0.125把每个都展开加起来就行了 -
慕石美罗:[答案] 级数(series)就是一列有限的或无限表达式的和. 如: 1 + 2 + 3 + 4 = 10,是有限的数项级数. sin(x) = x - x^3/3!+ x^5/5!- x^7/7!+ …,是无穷的幂级数. 用级数求圆周率,就是把圆周率先写成一个函数表达式,然后把这个函数写成无穷级数(一般是幂...

神木县19790684354: 如何用泰勒公式求圆周率的近似值 -
慕石美罗:[答案] 有泰勒级数:arctan x = x - x^3/3 + x^5/5 - ...(x≤1) 取x=1,则左边=arctan1=π/4,右边=1-1/3+1/5-1/7+1/9-...(无穷级数,正负交替,大小为1/(2n+1)) 所以π=4*(1-1/3+1/5-1/7+1/9-...)

神木县19790684354: 近似值x*=0.453关于精确值x=0.4529有()位有效数字; - 上学吧普法考试
慕石美罗: #include "stdio.h"#define N1 3.14#define N2 3.141#define N3 3.1415#define N4 3.14159 int main() {int a=3; float pi=4.0; int flag = -1; int i=0; for (i=0;;i++) { pi += (float)(4.0/a)*flag; a += 2; flag *=(-1); int temp = (pi- (float)N4)*100000;//N2对应...

神木县19790684354: 圆周率是怎样算出来的 -
慕石美罗: 【古典算法】使正多边形的边数不断倍增,通过计算正多边形的周长(面积),计算圆周率.称为【割圆术】.【现代算法】通过反正切函数的幂级数,用大型计算机计算圆周率.

神木县19790684354: 编写程式,用如下公式计算圆周率π的近似值. π=4 - 4/3+4/5 - 4/7+4/9 - 4/11+… -
慕石美罗: 我用的是Vc++6.0 #include "iostream.h" void main() {float pi=0,i;int a=1; for ( i=1;i<999999;i++){pi+=4/(2*i-1)*a;a=-a;}cout<< }

神木县19790684354: c++问题:用以下公式计算圆周率的近似值 -
慕石美罗: #include <stdio.h>int main() {double pi = 0;int i, k = 1;for ( i = 0; i < 1000000; ++i ) {pi += 1.0 / (2*i+1)*k;k = -k;}printf( "%f\n", pi*4 ); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网