对sin函数求"不定积分",用C语言如何实现???

2024-11-02 15:22:53
推荐回答(5个)
回答1:

1.
c语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果
2.
下面用for循环实现sin的算法,程序代码如下:
#include
#include
void
main()
{
int
i;
float
x,sum,a,b;
//sum代表和,a为分子,b为分母
char
s;
printf("please
input
x");
scanf("%f",&x);
s=1;
sum=0;
a=x;

//分母赋初值
b=1;

//分子赋初值
for(i=1;a/b>=1e-6;i++)
{

sum=sum+s*a/b;

//累加一项

a=a*x*x;

//求下一项分子

b=b*2*i*(2*i+1);

//求下一项分母

s*=-1;
}

printf("sum=%f\n",sum);
}

3.
关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式
sin
x=x-x^3/3!+x^5/5!
......
,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加

回答2:

我没有做过这类题,但我能提供一种方法,在电脑中sin函数是通过展开成多项式来进行计算的,当函数变成多项式后,它的积分也是有规律可循的,运用高数中的泰勒公式,在对多项式进行处理,最后带入上下限,即可得到定积分。

回答3:

楼上的,别人要的是不定积分~不时定积分

定积分用蒙特卡洛算法

参见《数值分析》

回答4:

在vs中可以直接引用
比如c#
system.math.sin(str)

回答5:

C 语言好像不是用来做高等数学的……