MATLAB Tutorial ECE 002 Professor S. Ahmadi.

Slides:



Advertisements
Similar presentations
Lecture 14 User-defined functions Function: concept, syntax, and examples © 2007 Daniel Valentine. All rights reserved. Published by Elsevier.
Advertisements

Lecture 5.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. A Concise Introduction to MATLAB ® William J. Palm III.
PROGRAM 8 consider a function y = f(x). In order to evaluate definite integral I = a ∫ b y dx = a ∫ b f(x) dx Divide the interval (b-a) of x into n equal.
ES 240: Scientific and Engineering Computation. Chapter 17: Numerical IntegrationIntegration  Definition –Total area within a region –In mathematical.
Parallel Computing in Matlab
Computer Programming w/ Eng. Applications
Chapter 7 Introduction to Procedures. So far, all programs written in such way that all subtasks are integrated in one single large program. There is.
Lecture 26: Numerical Integration Trapezoid rule Simpson's rule Simpson's 3/8 rule Boole’s rule Newton-Cotes Formulas.
Functions in MatLab Create a new folder on your Z:drive called MatLab_Class24 Start MatLab and change your current directory to MatLab_Class24 Topics:
1 Programming Languages (CS 550) Lecture Summary Functional Programming and Operational Semantics for Scheme Jeremy R. Johnson.
Variables i)Numeric Variable ii)String Variable
1 9/29/06CS150 Introduction to Computer Science 1 Loops Section Page 255.
CEG 221 Lesson 5: Algorithm Development II Mr. David Lippa.
Python November 18, Unit 7. So Far We can get user input We can create variables We can convert values from one type to another using functions We can.
Lecture 12 Another loop for repetition The while loop construct © 2007 Daniel Valentine. All rights reserved. Published by Elsevier.
Revision – A simple program How to start a program? How to end a program? How to declare variables? What are the mathematical operators? How to start a.
Chapter 9 Numerical Integration Numerical Integration Application: Normal Distributions Copyright © The McGraw-Hill Companies, Inc. Permission required.
Numerical Integration Formulas
Numerical Integration
Integration Integration: is the total value, or summation, of f(x) dx over the range from a to b:
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
4.6 Numerical Integration Trapezoid and Simpson’s Rules.
Positional Number Systems
Chapter 5. Loops are common in most programming languages Plus side: Are very fast (in other languages) & easy to understand Negative side: Require a.
General Computer Science for Engineers CISC 106 Lecture 07 James Atlas Computer and Information Sciences 06/29/2009.
Chapter 9 Numerical Integration Flow Charts, Loop Structures Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
General Programming Introduction to Computing Science and Programming I.
Chapter 3 COMPLETING THE BASICS Programming Fundamentals with C++1.
The Rectangle Method. Introduction Definite integral (High School material): A definite integral a ∫ b f(x) dx is the integral of a function f(x) with.
Numerical Computation Lecture 2: Introduction to Matlab Programming United International College.
Matlab Basics Tutorial. Vectors Let's start off by creating something simple, like a vector. Enter each element of the vector (separated by a space) between.
Numerical Solutions of Integral Equations and Associated Control and Estimation Problems Jeffrey Carroll, Sophomore Dr. S. A. Belbas.
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
Scientific Computing Introduction to Matlab Programming.
Count and add list of numbers From user input and from file.
Chapter 6 Review: User Defined Functions Introduction to MATLAB 7 Engineering 161.
Arrays II (Strings). Data types in C Integer : int i; Double: double x; Float: float y; Character: char ch; char cha[10], chb[]={‘h’,’e’,’l’,’l’,’o’};
Definite Integrals Riemann Sums and Trapezoidal Rule.
Analyzing Functions (4.16) y=f(x) MATLAB. Functional Analysis includes: Plotting and evaluating a function Finding extreme points Finding the roots (zeros.
Sequencing The most simple type of program uses sequencing, a set of instructions carried out one after another. Start End Display “Computer” Display “Science”
Programming Fundamentals with C++1 Chapter 3 COMPLETING THE BASICS.
WHAT IS THIS? Clue…it’s a drink SIMPLE SEQUENCE CONTROL STRUCTURE Introduction A computer is an extremely powerful, fast machine. In less than a second,
Copyright © Cengage Learning. All rights reserved. 16 Vector Calculus.
The Natural Logarithmic Function and Integration
Lecture 6: Methods MIT-AITI Kenya © 2005 MIT-Africa Internet Technology Initiative In this lecture, you will learn… What a method is Why we use.
CMSC 104, Section 301, Fall Lecture 18, 11/11/02 Functions, Part 1 of 3 Topics Using Predefined Functions Programmer-Defined Functions Using Input.
Quiz 3 Topics Functions – using and writing. Lists: –operators used with lists. –keywords used with lists. –BIF’s used with lists. –list methods. Loops.
COMPUTER PROGRAMMING Year 9 – lesson 1. Objective and Outcome Teaching Objective We are going to look at how to construct a computer program. We will.
OPERATORS IN C CHAPTER 3. Expressions can be built up from literals, variables and operators. The operators define how the variables and literals in the.
數值方法 2008, Applied Mathematics NDHU 1 Numerical Integration.
Algorithms and Programming
The Little man computer
MATLAB – More Script Files
Introduction to Programming
NUMERICAL INTEGRATION
Copyright © Cengage Learning. All rights reserved.
Variables, Expressions, and IO
Functions CIS 40 – Introduction to Programming in Python
Matlab review Matlab is a numerical analysis system
MATH 493 Introduction to MATLAB
PROBLEM SOLVING CSC 111.
Copyright © Cengage Learning. All rights reserved.
MATLAB Tutorial ECE 002 Professor S. Ahmadi.
6.001 SICP Streams – the lazy way
Vectors and Matrices In MATLAB a vector can be defined as row vector or as a column vector. A vector of length n can be visualized as matrix of size 1xn.
The Natural Logarithmic Function and Integration
Matlab Basics Tutorial
Presentation transcript:

MATLAB Tutorial ECE 002 Professor S. Ahmadi

Tutorial Outline Functions using M-files. Numerical Integration using the Trapezoidal Rule. Example #1: Numerical Integration using Standard Programming (Slow). Example #2: Numerical Integration using Vectorized MATLAB operations (Fast). Student Lab Exercises.

What Are Function M-Files Function M-files are user-defined subroutines that can be invoked in order to perform specific functions. Input arguments are used to feed information to the function. Output arguments store the results. EX: a = sin(d). All variables within the function are local, except outputs. NOTE: Local variables are variables that are only used within the function. They are not saved after the M-file executes.

Example of a Function M-File function answer = average3(arg1,arg2, arg3) % A simple example about how MATLAB deals with user % created functions in M-files. % average3 is a user-defined function. It could be named anything. % average3 takes the average of the three input parameters: arg1, % arg2, arg3 % The output is stored in the variable answer and returned to the % user. % This M file must be saved as average3.m answer = (arg1+arg2+arg3)/3;

How to call a function in matlab X = sin(pi); % call the interior function of Matlab, sin Y = input(“How are you?”) % call the interior function of Matlab, input % input is a function that requests information from % the user during runtime Y=average3(1, 2, 3);. % average3 is a user-defined function. % The average value of 1,2 and 3 will be stored in Y

Example: Calling a Function from within the Main program. % Example1: This is a main program example to illustrate how functions are called. % input is a function that requests information from % the user during runtime. VarA = input('What is the first number?'); VarB = input('What is the second number?'); VarC = input('What is the third number?'); VarAverage=average3(VarA, VarB, VarC); % num2str converts a number to a string. result=[‘The average value was’, num2str(VarAverage)]

Numerical Integration General Approximation Made With Num. Integration: b n ∫ f(x) dx ≈ ∑ ci f(xi) a i=0 Trapezoidal rule: Integration finds the “Area” under a curve, between two points (a and b). To approximate the area under a curve, use a familiar shape whose area we already know how to calculate easily. In this case, we’ll use a trapezoid shape. Area of trapezoid = ½ (b1 + b2) h x y f(b) f(a) base 2 (b1) a b h base 2 (b2)

Numerical Integration Trapezoidal Rule (con’t): x y Area under curve ≈ Area of trapezoid under the curve Area of trapezoid = ½ h [ b1 + b2 ] Area under curve ≈ ½ (b-a) [ f(a) + f(b) ] Therefore, Trapezoidal Rule: b ∫ f(x) dx ≈ ½ (b-a) [ f(a) + f(b) ] a f(b) f(a) a b How can we get a better approximation of the area under the curve? Answer: Use More Trapezoids

Numerical Integration More trapezoids give a better approximation of the area under curve x y Add area of both trapezoids together, more precise approx. of area under curve Area of trapezoid = ½ h [ b1 + b2 ] Area under curve ≈ ½ (x1-a) [ f(a) + f(x1) ] + ½ (b-x1) [ f(x1) + f(b) ] Simplify: ½ ((b-a)/2) [ f(a) + f(x1) + f(x1) + f(b) ] (b-a)/4* [ f(a) + 2 * f(x1) + f(b) ] f(b) f(x1) f(a) Area of Trapezoid 1 Area of Trapezoid 2 a b x1 Area under curve ≈

Numerical Integration Using more trapezoids to approximate area under the curve is called: Composite Trapezoidal Rule The more trapezoids, the better, so instead of two trapezoids, we’ll use n trapezoids. The greater the value of n, the better our approximation of the area will be.

Composite Trapezoidal Rule Divide interval [a,b] into n equally spaced subintervals (Add area of the n trapezoids) b x1 x2 b ∫ f(x) dx ≈ ∫ f(x) dx + ∫ f(x) dx + … + ∫ f(x) dx a a x1 xn-1 ≈ (b-a)/2n [ f(a) + f(x1) + f(x1) + f(x2) +…+ f(xn-1) + f(b) ] ≈ (b-a)/2n [ f(a) + 2 f(x1) + 2 f(x2) +…+ 2 f(xn-1) + f(b) ] b ∫ f(x) dx ≈ Δx/2 [ y0 + 2y1 + 2y2 + … + 2yn-1 + yn ] a Composite Trapezoidal Rule

Example 1 on Numerical Integration Implementing Composite Trapezoidal Rule in Matlab Example Curve: f(x) = 1/x , let’s integrate it from [e,2e] : 2e 2e ∫ 1/x dx = ln (x) | = ln (2e) – ln (e) = ln (2) = 0.6931 e e Matlab Equivalent function I=Trapez(f, a, b, n) % take f, add n trapezoids,from a to b % Integration using composite trapezoid rule h = (b-a)/n ; % increment s = feval(f,a) ; % starting value for i=1:n-1 x(i) = a + i*h ; s = s+2 * feval (f,x(i)) ; end s = s + feval(f,b) ; I = s*h/2 ; Area under curve: 1/x, from [e,2e] Inline(‘1/x’) In our case, input to the function will be: f = inline (’1/x’) a = e = 2.7182818 b = 2e

Example 2 on Numerical Integration: Using MATLAB Vectorized Operations This function carries out the same function as the previous example, but by using MATLAB Vectorized operations, it runs much faster. function I=FastTrap(f, a, b, n) % Same as the previous Trapezoidal function example, but using more % efficient MATLAB vectorized operations. h=(b-a)/n; % Increment value s=feval(f, a); % Starting value in=1:n-1; xpoints=a+in*h; % Defining the x-points ypoints=feval(vectorize(f),xpoints); % Get corresponding y-points sig=2*sum(ypoints); % Summing up values in ypoints, and mult. by 2 s=s+sig+feval(f,b); % Evaluating last term I=s*h/2;

Example 3: Integrating Trapezoidal/FastTrap Function into Main Program Main program to test numerical integration function, and to measure difference in speed between the two previous functions. % Example 3: Main program to run the numerical integration function, % using the user-created Trapezoidal/FastTrap methods. fon=inline('log‘); % Defines the function we wish to integrate. a=exp(1); % Starting point. b=2*a; % Ending point. n=1000; % Number of intervals. tic % Start counter. OutValue=Trapez (fon, a, b, n) % Calling Trapezoidal function. toc % Stop counter, and print out counters value. % Try replacing the Trapez function with the vectorized FastTrap % function, and notice the difference in speeds between the two.

Example 3: Continuation Try two different values of N N=1,000 N=100,000. For both N values, test the code using both functions for the Trapezoidal method: The normal Trapez Method, and the FastTrap Method. Compare the difference in execution time between the standard way (Trapez), and the vectorized approach (FastTrap).

Additional MATLAB Exercise Function: y(i) = sin [ x(i) ] Where x(i) is “defined” by 101 uniformly spaced points in [0, 2π]. Define the integral: x(i) Int (i) = ∫ sin (t) dt Calculate Int(i) for all values, i = 1, … , 101 Plot y(i) and Int(i) versus x(i), for i =1, …, 101