C語言複習---矩形法求定積分函數

來源:互聯網
上載者:User

標籤:use   區間   namespace   net   mat   efi   define   思路   簡單的   

一:分析:
大一學習積分的時候,我們學習過,可以通過矩形法來求定積分。思路就是將積分區間劃分成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;}

 

 



C語言複習---矩形法求定積分函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.