激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - 如何用矩形法(梯形法)求定積分

如何用矩形法(梯形法)求定積分

2020-12-24 14:14C語言教程網 C/C++

思路就是將積分區間劃分成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);
}



如何用矩形法(梯形法)求定積分

梯形法:

復制代碼 代碼如下:

#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)+fun(i+h))*h)/2;
 }
 cout<<"\n結果是:"<<s<<endl;
 cout<<endl;
}
float fun(float x){
 return pow(x,2);
}



如何用矩形法(梯形法)求定積分

一個較復雜的例子
寫一個通用函數,用來求sinx   、  cosx    、  e^x   、  x^2  的定積分
分析:fun為用來求定積分的通用函數,調用fun函數的時候,需要將積分的上限,下限,區間劃分的份數以及被積函數的指針傳遞過來。

矩形法:

復制代碼 代碼如下:

#include<iostream>
#include<math.h>
using namespace std;
int main(){
 float fsin( float x);
 float fcos( float x);
 float   fe( float x);
 float fpf(float x);
 float fun(float a,float b, int n,float (*p)(float x));
 float a[4],b[4],r[4];
 cout<<"請輸入求正弦函數定積分的上限a和下限b:";
 cin>>a[0]>>b[0];
 r[0]=fun(a[0],b[0],50,fsin);
 cout<<"\n結果是:"<<r[0]<<endl;
 cout<<"\n請輸入求余弦函數定積分的上限a和下限b:";
 cin>>a[1]>>b[1];
 r[1]=fun(a[1],b[1],50,fcos);
 cout<<"\n結果是:"<<r[1]<<endl;
 cout<<"\n請輸入求以e為底的指數函數定積分的上限a和下限b:";
 cin>>a[2]>>b[2];
 r[2]=fun(a[2],b[2],50,fe);
 cout<<"\n結果是:"<<r[2]<<endl;
 cout<<"\n請輸入求X^2函數定積分的上限a和下限b:";
 cin>>a[3]>>b[3];
 r[3]=fun(a[3],b[3],50,fpf);
 cout<<"\n結果是:"<<r[3]<<endl; 
 cout<<endl;
 return 0;
}
float fsin(float x){
 return sin(x);
}
float fcos(float x){
 return cos(x);
}
float fe(float x){
 return exp(x);
}
float fpf(float x){
 return pow(x,2);
}
float fun(float a,float b,int n,float (*p)(float x)){
 float i;
 float h=(b-a)/n;
 float s=0;
 for(i=a;i<b;i+=h){
  s=s+p(i)*h;//利用了矩形求面積的公式
 }
 return s;
}



如何用矩形法(梯形法)求定積分

梯形法:

復制代碼 代碼如下:

#include<iostream>
#include<math.h>
using namespace std;
int main(){
 float fsin( float x);
 float fcos( float x);
 float   fe( float x);
 float fpf(float x);
 float fun(float a,float b, int n,float (*p)(float x));
 float a[4],b[4],r[4];
 cout<<"請輸入求正弦函數定積分的上限a和下限b:";
 cin>>a[0]>>b[0];
 r[0]=fun(a[0],b[0],50,fsin);
 cout<<"\n結果是:"<<r[0]<<endl;
 cout<<"\n請輸入求余弦函數定積分的上限a和下限b:";
 cin>>a[1]>>b[1];
 r[1]=fun(a[1],b[1],50,fcos);
 cout<<"\n結果是:"<<r[1]<<endl;
 cout<<"\n請輸入求以e為底的指數函數定積分的上限a和下限b:";
 cin>>a[2]>>b[2];
 r[2]=fun(a[2],b[2],50,fe);
 cout<<"\n結果是:"<<r[2]<<endl;
 cout<<"\n請輸入求X^2函數定積分的上限a和下限b:";
 cin>>a[3]>>b[3];
 r[3]=fun(a[3],b[3],50,fpf);
 cout<<"\n結果是:"<<r[3]<<endl; 
 cout<<endl;
 return 0;
}
float fsin(float x){
 return sin(x);
}
float fcos(float x){
 return cos(x);
}
float fe(float x){
 return exp(x);
}
float fpf(float x){
 return pow(x,2);
}
float fun(float a,float b,int n,float (*p)(float x)){
 float i;
 float h=(b-a)/n;
 float s=0;
 for(i=a;i<b;i+=h){
  s=s+((p(i)+p(i+h))*h)/2;//梯形法求面積
 }
 return s;
}



如何用矩形法(梯形法)求定積分

延伸 · 閱讀

精彩推薦
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
主站蜘蛛池模板: 99ri精品| 亚洲一区二区三区在线看 | 国内毛片视频 | 最近国产中文字幕 | 毛片免费视频播放 | 伦一区二区三区中文字幕v亚洲 | 久精品国产 | 精品国产视频一区二区三区 | 日本成年免费网站 | 韩国一级免费视频 | 一区二区三区视频在线观看 | 精品黑人一区二区三区国语馆 | 久草在线综合 | 久久亚洲精品国产一区 | 久久无| 91情侣在线偷精品国产 | 亚洲精品成人18久久久久 | 成人激情综合网 | 午夜神马电影网 | 中文字幕在线永久 | 欧美精品在线免费观看 | 亚洲网站在线播放 | 亚洲成人久久精品 | 亚洲一区在线不卡 | 男男羞羞视频网站国产 | 久久久久久久久久美女 | 欧美交在线| 一级做受毛片免费大片 | 国产精品免费视频观看 | 天堂在线中文资源 | 亚洲精品一区二区三区在线看 | av免费不卡国产观看 | 欧美一级淫片免费视频黄 | 夜添久久精品亚洲国产精品 | 爱看久久 | 久久精品亚洲欧美日韩精品中文字幕 | 免费在线观看成人网 | 91高清在线观看 | 久久性生活免费视频 | 精品国产一区二区三区四区在线 | 请播放一级毛片 |