Tutorial: Integration

Tutorial: Integration

Exercise - MATLAB (30 min)

Estimate the velocity from the dataset of acceleration

clear all
x=[0 5 10 15 20 25 30 35 40 47 50 54 60];
y=[0 3 8 20 33 42 40 48 60 12 8 4 3];
N=length(x);
plot(x,y,'.-');

% Matlab function
I_matlab = trapz(x,y);    

Download the tutorial source file and fill in the blanks.

Run the code and validate your answer

Print the output in PDF and submit it to LMS


Exercise - C Programming

Create a new empty project in Visual Studio Community.

Name the project as TU_Integration

  • e.g ) C:\Users\yourID\source\repos\NP\tutorial\TU_Integration

Create a new C/C++ source file for main()

Download the answer report file for this tutorial. : Answer Report

This is NOT for the assignment


Part 1 : Integration of Discrete Points (50min)

Create a function for numerical differentiation from a set of data. Read the instructions in the source code.

Exercise 1: Trapezoid (25 minutes)

Create Trapezoidal method for discrete data inputs. Upload the result in LMS.

double trapz (double x[ ], double y[ ], int m);
  • In the report, screen capture the output window and paste your code

  • Use 1D array type with dataset length m.

  • intervals= N, # dataset=N+1=m, The ranges are x[0] to x[m-1]

Declare and define your functions in your header files, located in \include folder

  • function definitions: myNP.h

  • function declaration: myNP.cpp

Exercise 2: Simpson13 (25 minutes)

Create Simpson13 method for discrete data inputs. Upload the result in LMS.

  • In the report, screen capture the output window and paste your code

  • Use Simpson 13 method :

  • N even numbers, same intervals, from a(=x0) to b(=xN), h=(b-a)/N.

  • The interval should be h=(b-a)/N

  • Defined in myNM.cpp source file

double simpson13(double x[ ], double y[ ], int m);

Simpson 13 method :

On the Answer template document, show your code and the output window, and submit it to LMS


Part 2: Integration from a Function (25min)

Exercise 3 : (25 min)

Create Simpson13() when a function is given as the input. Upload the result in LMS

double myFunc (const double x);  // in main.cpp
double integral(double func(const double x), double a, double b, int n);  // in myNM.h
  • In the report, screen capture the output window and paste your code

  • Use Simpson 13 method :

  • N even numbers, same intervals, from a(=x0) to b(=xN), h=(b-a)/N.

  • The interval should be h=(b-a)/N

  • Defined in myNM.cpp source file

Create the following function that calls myFunc() . The true answer is PI/2

Last updated