2019年4月27日 星期六

C++語言 Simpson’s 1/3 Rule 定積分

Example:

Approximate the value of the integral given below, taking n = 8.
Implementation of Simpson’s 1/3 Rule in C++ is as follows :
#include<iostream>
#include<cmath>
using namespace std;

float f(float x)
{
 return x*sin(x); //Define the function f(x)
}

float simpson(float a, float b, int n)
{
 float h, x[n+1], sum = 0;
 int j;
 h = (b-a)/n;
 
 x[0] = a;
 
 for(j=1; j<=n; j++)
 {
  x[j] = a + h*j;
 }
 
 for(j=1; j<=n/2; j++)
 {
  sum += f(x[2*j - 2]) + 4*f(x[2*j - 1]) + f(x[2*j]);
 }
 
 return sum*h/3;
}

int main()
{
 float a,b,n;
 a = 1;  //Enter lower limit a
 b = 4;  //Enter upper limit b
 n = 8;  //Enter step-length n
 if (n%2 == 0)
  cout<<simpson(a,b,n)<<endl;
 else
  cout<<"n should be an even number";
 return 0;
}

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...