c语言sin函数的积分,sin函数求积分

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

??

创新互联公司是专业的宽甸网站建设公司,宽甸接单;提供网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宽甸网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

解法一 ∫sin(x)dx = cos(x) +c 积分公式

double jfSin(double x, double y)

{

return cos(y) - cos(x)

}

解法二 野蛮近似法

d是精度

double jfSin(double x, double y, double dx)

{ double ret;

for(; x =y; x+= dx)

{

ret += sin(x);

}

return ret;

}

C语言sin怎么用

C语言sin()用来计算参数x 的正玄值,然后将结果返回。返回-1 至1 之间的计算结果。

例子:

#include math.h

main(){

double answer = sin(0.5);

printf("sin(0.5) = %f\n", answer);

}

执行

sin(0.5) = 0.479426

C语言sin():

sin()原型:double sin(double x)

sin()角度与弧度:

π=180°

1°=π/180

1(rad)=180/π

角度转弧度:用角度乘以π/180

弧度转角度:用弧度乘以180/π,或者用rtod()函数

扩展资料:

与sin相似的acos函数

函数名: acos

功 能:计算并返回arccos(x)值、要求-1=X=1

函数与形参类型:

double acos(x)

double x;

程序例:

#include stdio.h

#include math.h int main(void)

{

double result;

double x = 0.5; result = acos(x);

printf("The arc cosine of %lf is %lf\n", x, result);

return 0;

}

参考资料:CSDN博客频道-C语言中sin和cos的用法

C语言编程求函数y=sinx在(0,1)区间的定积分?

#includestdio.h

#includemath.h

#define N 10000000

void main()

{

double sum=0;

int i;

for(i=0; iN; i++)

{

sum += sin((double)(i)/N)/N;

}

printf("%lf\n%lf",sum,1-cos(1));

}

N后面的0有点多了,不过这个数刚好能精确到小数点后6位。

当然,这个程序的算法实在是太垃圾了,效率非常的低下……

怎样编写c语言积分函数

积分分为两种,数值积分,公式积分。

公式积分:部分函数可以直接用公式求得其不定积分函数。C语言中可以直接用积分公式写出其积分函数。

数值积分:按照积分的定义,设置积分范围的步长,用梯形面积累加求得其积分。

以【f(x)=x*sin(x) 从1到2的积分】为例:

#include math.h

#include stdio.h

double integral(double(*fun)(double x),double a,double b,int,n){

double s,h,y;

int i;

s=(fun(a)+fun(b))/2;

h=(b-a)/n; /*积分步长*/

for(i=1;in;i++)

s=s+fun(a+i*h);

y=s*h;

return y;/*返回积分值*/

}

double f(double x){

return(x*sinx)  /*修改此处可以改变被积函数*/

}

int main(){

double y;

y=integral(f,1.0,2.0,150);/*修改此处可以改变积分上下限和步数,步长=(上限-下限)/步数*/

printf("y=%f\n",y);

return 0;

}

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

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泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加

C语言算法 ∫sinexdx

比如在(a,b)上积分,可将区间(a,b)等分为n个小份,每小份(b-a)/n,然后算f(k*(b-a)/n)*(b-a)/n,对k=1,2,...n时式子的值求和,即为所求,n越大越准确.此处f(x)为要积分的函数,即sinex


当前名称:c语言sin函数的积分,sin函数求积分
文章起源:http://myzitong.com/article/dssgojj.html