精华内容
下载资源
问答
  • 参考网上积分程序写的C语言求积分函数,支持自定义被积函数 1、可以精确到小数点后8到10位左右 2、因为是利用高斯积分表,所以计算速度也很快 3、有详细文字说明,稍作更改就能化为己用!
  • 三次函数曲线积分的C语言源码及PPT
  • 主要为大家详细介绍了C语言使用矩形法积分的通用函数,分别求解sinx, cosx,e^x,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • C语言求积分

    千次阅读 2019-03-13 16:49:42
    那现在就用这种方法,利用C语言求积分。 下面附上代码: #include <stdio.h> #include <stdlib.h> #include <iostream> #include &...

    这里以函数f=sinx为例子,首先思路:求定积分用的是元素法,把面积分为一个个的小矩形,分的越密集,则结果越正确。那现在就用这种方法,利用C语言求定积分。
    下面附上代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    #include <string.h>
    #include <math.h>
    using namespace std;
    int main()
    {
        int i;
        double a,b;
        double wide=0.001;//wide表示划分的单位宽度,wide越小结果越精确,n是积分中矩形的宽
        printf("please input a,b:\n");
        scanf("%lf%lf",&a,&b);
        int n=(b-a)/wide;//a,b为积分的上限和下限
        double s=0;//s为所有小矩形面积的和,即积分的值
        for(i=0; i<n; i++)
        {
            s+=sin(a+i*wide)*wide;//a+i*wide是横坐标的值
        }
        printf("%.2lf\n",s);
        return 0;
    }
    

    下面做一下升级,方便函数变化时,灵活运用。

    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    #include <string.h>
    #include <math.h>
    using namespace std;
    double fun(double x)
    {
        return sin(x);
    }
    double jifen(double a,double b,double (*p)(double))//(*p)(double)为指向函数的指针,相当于一个函数的名字作为形参了
    {
        int i;
        double wide=0.001;//wide表示划分的单位宽度,wide越小结果越精确,n是积分中矩形的宽
        dint n=(b-a)/wide;//a,b为积分的上限和下限
        double s=0;//s为所有小矩形面积的和,即积分的值
        for(i=0;i<n;i++)
        {
            s+=(*p)(a+i*wide)*wide;//a+i*wide是横坐标的值
        }
        return s;
    }
    int main()
    {
    
        double a,b;
        printf("please input a,b:\n");
        scanf("%lf%lf",&a,&b);
        printf("%.2lf\n",jifen(a,b,fun));
        return 0;
    }
    
    

    注意:double (*p)(double)表示p是指向函数的指针,被指的函数是一个实型函数,有一个实型的形参,p是指向函数的指针变量。同以往的指针不同的是,p指向的是一个函数,代表一个函数的地址,p就代表这个函数的名字。(p)(a+widei)相当于sin(a+widei)。这样jifen函数就是一个通用求定积分的函数了。里面的函数定义随意变,而所需改变的代码很少。这样大大提高了效率

    展开全文
  • 主要介绍了C语言实现积分的方法,涉及C语言操作相关数学函数的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • (27)编写积分函数任意函数的积分,并用写好的函数三角函数与幂指数的定积分。可参看上机指导书P135 E7.2 书上使用的是矩形积分,可以尝试用梯形积分。同时改变n的取值看对积分函数值的影响,体会高数中积分...

    题目来源:大工慕课 链接
    作者:Caleb Sung

    题目要求

    (27)编写积分函数求任意函数的积分,并用写好的函数,求三角函数与幂指数的定积分。可参看上机指导书P135 E7.2 书上使用的是矩形积分,可以尝试用梯形积分。同时改变n的取值看对积分函数值的影响,体会高数中积分的定义。如果参考上机指导书,书上函数中for(i=0;i<=n;i++),这一行写错了,大家可以作为一个改错练习。 开始可让 ac=0,bc=3.1415926,算三角函数的积分,看函数是否编写正确。

    题目代码

    #include<stdio.h>
    #include <math.h>
    int main()
    {
        int n=1000;
        double ac=-1,bc=1,ae=0,be=2,c,(*p)();
        /*double ac=0,bc=3.1415926,ae=0,be=2,c,(*p)();*/
        double jiff();
        p=cos;
        c=jiff(ac,bc,n,p);
        printf("the definite integral of cosx -1 to 1 is: %f\n",c);
        p=exp;
        c=jiff(ae,be,n,p);
        printf("the definite integral of exp 0 to 2 is:%f\n",c);
        return 0;
    }
    double jiff(double a,double b, int n, double (*p)())
    {
        //******begin************************
    
        //*******end*************************
    }

    参考解答

    可参考之前我写的同类试题参考解答:
    https://blog.csdn.net/qq_41933331/article/details/80256500

    double jiff(double a,double b, int n, double (*p)())
    {
        //******begin************************
        double ha, hb, result=0;
        int i;
        for(i=0; i<n; i++){
            ha = p(a+i*(b-a)/n);
            hb = p(a+(i+1)*(b-a)/n);
            result += ((ha + hb)*(b-a)/n)/2.0;
        }
        return result;
        //*******end*************************
    }

    运行结果

    the definite integral of cosx -1 to 1 is: 1.682941
    the definite integral of exp 0 to 2 is6.389058
    
    展开全文
  • C语言】梯形法求函数积分

    千次阅读 2018-04-20 16:14:00
    编写一个用梯形法一元函数f(x)在(a,b)上积分近似值的函数过程。并就f(x)=sin(2x)+x,当[a,b]=[0,3.14159]、小区间数n=10和n=20时,分别计算并输出积分的近似值S1和S2,保留3位小数。 1 #include<stdio.h>...
     编写一个用梯形法求一元函数f(x)在(a,b) 上积分近似值的函数过程。并就f(x)=sin(2x)+x,当[a,b]=[0,3.14159]、小区间数n=10 和n=20 时,分别计算并输出积分的近似值S1和S2,保留3 位小数。 
     1 #include<stdio.h>
     2 #include<math.h> 
     3 float f(float x)
     4 {
     5     return  sin(2*x)+x;
     6 }
     7 int  main()
     8 {
     9     float a,b,len,F=0;//
    10     int n,i;
    11     printf("请输入a,b: ");
    12     scanf("%f%f",&a,&b);
    13     printf("请输入n的值: ");
    14     scanf("%d",&n);
    15     len=(a+b)/n; 
    16     for(i=0;i<n;i++)
    17     {
    18         F+=len*f(a);
    19         a+=len;
    20     }
    21     printf("%.3f\n",F);
    22     return 0;
    23 }

     

     有问题,请指正,谢谢!

    转载于:https://www.cnblogs.com/ieybl/p/8891446.html

    展开全文
  • 大一学习积分的时候,我们学习过,可以通过矩形法来定积分。 思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和。 二:简单的例子 ...

    一:分析:

    大一学习积分的时候,我们学习过,可以通过矩形法来求定积分。
    思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和。

    二:简单的例子

    求函数X^2在的定积分

    矩形法:

    #include<iostream>
    #include<math.h>
    using namespace std;
    int main(){
        float fun(float x);
        float a, b;
        cout << "请输入函数X^2的定积分的下限a和上限b:";
        cin >> a >> b;
        int n = 50;//将区间划分成50份 
        float h = (b - a) / n;//h是每个区间分大小 
        float s = 0;//s是矩形的面积的和
        float i = 0;
        for (i = a; i < b; i += h){
            s = s + fun(i)*h;
        }
        cout << "\n结果是:" << s << endl;
        cout << endl;
    }
    float fun(float x){ return pow(x, 2); }

    三:使用C语言实现下面三个函数的定积分求解

    #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    //使用矩形法来求定积分的通用函数
    //p是函数指针,a是下界,b是上界,n是等分数
    float integral(float(*p)(float), float a, float b, int n)
    {
        int i;
        float area=0;
        float ew = (b - a) / n;
    
        for (i = 1; i <= n;i++)
            area += (*p)(a + i*ew)*ew;
    
        return area;
    }
    
    float f_sin(float x)
    {
        return sin(x);
    }
    
    float f_cos(float x)
    {
        return cos(x);
    }
    
    float f_exp(float x)
    {
        return exp(x);
    }
    
    int main()
    {
        float a, b,area;
        float(*p)(float);
        int n = 20;
    
        printf("test sin,input a,b:");
        scanf("%f,%f", &a, &b);
        p = f_sin;
        area = integral(p, a, b, n);
        printf("get value:%f\n", area);
    
        printf("test cos,input a,b:");
        scanf("%f,%f", &a, &b);
        p = f_cos;
        area = integral(p, a, b, n);
        printf("get value:%f\n", area);
    
        printf("test exp,input a,b:");
        scanf("%f,%f", &a, &b);
        p = f_exp;
        area = integral(p, a, b, n);
        printf("get value:%f\n", area);
    
        system("pause");
        return 0;
    }

     

     



    转载于:https://www.cnblogs.com/ssyfj/p/9562727.html

    展开全文
  • 写一个用矩形法积分的通用函数,分别:sin(x),cos(x),e^x 。 分析: 矩形法,学过高等数学就知道化曲为直的思想。将定积分化为多个函数连续的和。基本思想是将区间[a,b]化成n等分,当n越大的时候结果越准确...
  • 用近似法求得积分:当n为无穷大时,可将该曲边梯形近似看成矩形,值点值,将值点处函数值乘区域长度,得到近似矩形面积(底乘高),再将所有矩形面积求和,得到近似积分值 当满足某一精度要求时,n可为...
  • s=(sin(a+n*i)+sin(a+n*(i+1)))*n/2+s; // (sin(a+n*i)是梯形的上底,sin(a+n*(i+1))是下底printf("用梯形法求得该...}三.(综合)写一个用矩形法和梯形法积分的通用函数,分别sin(x)在(0,1)上、cos(x)在(-1,...
  • 本文实例为大家分享了C语言求解定积分的具体方法,供大家参考,具体内容如下 题目要求: 求下面函数的定积分: 思路: 求一个函数的定积分,其实就是求它的面积,如对函数 求积分。 也就是要求出绿色部分的面积,...
  • 通过黎曼和解定积分既是把在xy平面中函数曲线与x轴区间区域划分成多个矩形并它们面积之和,矩形数量越多,得出面积越精确。 #include #include #include #include <math.h> int main(){ float ...
  • 写一个用矩形法积分的通用函数,分别sinx,cosx,expx从0到1的定积分(指针方法处理) 2 解法 //C程序设计第五版(谭浩强) //章节:第八章 善于利用指针 // 所有练习均要求用指针方法处理 //练习8.13 写一个用...
  • C语言上机题 梯形法求积分

    千次阅读 2019-04-27 18:12:56
    题目描述 cosx,sinx,2x+1在[a,b]区间内的定积分,a、b的值从键盘输入。 ① 编写积分通用函数double integral(double a,...用梯形法计算p指向的函数在[a,b]的定积分近似值,返回计算结果。 ② 编写main函数...
  • 写一个用矩形法积分的通用函数,分别∫sin(x)dx, ∫cos(x)dx ,∫e^xdx
  • 题目:按如下函数原型,采用梯形法编程实现,在积分区间[a,b]内计算函数y1=∫10(1+x2)dx和y2=∫30x1+x2dx积分。其中,指向函数的指针变量f用于接收被积函数的入口地址。 Integral(float (*f)(float), float a, ...
  • YTU 2421: C语言习题 矩形法积分

    千次阅读 2016-03-03 09:20:25
    写一个用矩形法积分的通用函数,分别   (说明: sin,cos,exp已在系统的数学函数库中,程序开头要用#include)。 输入 输入sin(x) 定积分的下限和上限  输入cos(x) 定
  • Problem E: C语言习题 矩形法定积分 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 791 Solved: 486 ...写一个用矩形法积分的通用函数,分别   (说明: sin,cos,exp已在系统的数学函数库中,
  • 写一个用矩形法积分的通用函数,分别   (说明: sin,cos,exp已在系统的数学函数库中,程序开头要用#include)。 Input 输入sin(x) 定积分的下限和上限 输入cos(x) 定积分的下限和上限 输入...

空空如也

空空如也

1 2 3 4 5
收藏数 97
精华内容 38
关键字:

c语言求积分的函数

c语言 订阅