汉扬编程 C语言入门 如何用C语言编程变上限积分?

如何用C语言编程变上限积分?

利用积分的定义,将函数分割成高为无穷小的梯形,这里高是自己定义的足够小的量,代表精度。将要求积分的函数写好,然后输入积分上限,利用for循环和梯形的面积公式就可以求出积分值了。

#include <stdio.h>#include <math.h>

#define RES (1e-6)

double integ(double low,double up,double func(double)){

double sum;

for(sum=0;low<=up;low+=RES)

{

sum+=func(low)*RES;

}

return sum;

}

double func(double x){

return x*sin(x)/cos(x);}

int main(void){

double t;

for(t=0;t<=10;t+=0.01)

{ printf(\”%lf\\n\”,integ(0,t,func));

}

return 0;}

源码来自百度知道。

c语言sinx x积分?

#include <sdtio.h>

#include <math.h>

void main()

{

double f(double x);

int i,n;

/*n为区间等分的个数,应尽可能大*/

double a,b,h,s;/*a为积分下限,b为积分上限,h为步长*/

printf(\”积分下限a:\\n\”);//这里下限为0

scanf(\”%d\”,&a);

printf(\”积分上限为:b\\n\”);//这里上限为1

scanf(\”%d\”,&b);

printf(\”区间等分个数n:\\n\”);

scanf(\”%d\”,&n);

h=(b-a)/n; /*步长的计算 */

s=f(a)*h;

for(i=1;i<n;i++)

{

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

}

prinf(\”函数f(x)=sinx/x的积分值为s=%10.6f\\n\”);

/*以下为f(x)被积函数的定义*/

double f(double x)

{

double y;

y=six(x)/x;

return (y);

}

希望对你有所帮助!

}

参考资料:the c programming language

一个积分公式怎样用C语言编程?

有点像化学反应速率相关的计算。

一般在计算机系统中做数学计算,都有所谓“离散化”的问题,线性的微积分问题会转化为差分和累加问题,所以需要把原来的线性积分处理为离散累加求和。

你的计算式中实际上是没有强时变因素的,一般温度变化速度对于计算机系统来说,在一个计算周期内可以认为近似为常量,如果采样时间够快,比如是毫秒量级的话,那就完全可以直接把Y算出来,乘以采样周期,再做累加,就是积分结果了,误差不会很大。

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/7155.html

(C语言中的库函数有哪些)c语言都有哪些库函数?常用的有哪些,分别有什么用?

(c语言中文件指针中r什么意思)r,w,a+,r+在C语言中各自表示什么意思?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部