Matlab Programming for Engineers Introduction to Matlab Matlab Basics Branching Statements Loops User Defined Functions Additional Data Types Input/Output Functions Simulink Toolbox Important Toolboxes (if time is available) Dr. Bashir NOURI
Logical Arrays and Vectorization The Matlab Profiler OBJECTIVES The while Loop The for Loop Logical Arrays and Vectorization The Matlab Profiler
THE while LOOP Structure: The Code Block is repeated until the expression is false. If it is false, the program executes the first statement after the end.
THE while LOOP Example: Write a program that calculates the average, and the standard deviation, for a set of values (X), entered by the user.
THE while LOOP Solution:
THE while LOOP Solution (modified):
THE while LOOP Solution (modified):
Repeats a block of statements (Body) specified number of times. THE for LOOP Structure: Repeats a block of statements (Body) specified number of times. Legal Examples: Matlab generates an array by evaluating this expression column by column.
THE for LOOP Legal Examples:
THE for LOOP Example (The Factorial Function): N! = N * (N-1) * (N-2) * … * 3 * 2 * 1
THE for LOOP Example (The Factorial Function): N! = N * (N-1) * (N-2) * … * 3 * 2 * 1
THE for LOOP Example, calculating the day of year:
THE for LOOP Example: Use THE for LOOP to calculate the average and standard deviation for any (n) values (modify the previous while program).
THE for LOOP Details of operation: Indent the bodies of loops (automatically done in Matlab). Don’t modify the loop index within the body of a loop. Preallocating arrays. recall: arr = 1:4; arr(7) = 8; arr == [1 2 3 4 0 0 8]. (i.e. Matlab automatically extend/change the size of the array. It is better to preallocate the array before THE for LOOP to make the program much more faster.
Details of operation: (4. Vectorizing Arrays) THE for LOOP Details of operation: (4. Vectorizing Arrays) Faster
THE for LOOP The break and continue Statements: The break statement terminates the execution of a loop and passes control to the next statement after the end of the loop, example:
The break and continue Statements: THE for LOOP The break and continue Statements: The continue statement terminates the current step of the loop and return the control to the top of the loop, example: continue
THE for LOOP Nesting Loops: ii jj product Output
Different loop index variables THE for LOOP Nesting Loops: Different loop index variables ii jj product Output
THE for LOOP Nesting Loops: The break/continue statements they apply to the current loop, example:
Logical array and vectorization: THE for LOOP Logical array and vectorization: Double array Logical array
Logical array and vectorization: THE for LOOP Logical array and vectorization: Logical arrays can serve as a mask for arithmetic operations. The specified operation will be applied to the selected elements and not to the remaining elements, example: Will take the square root of all elements for which the logical array b is true and leave all the other elements in the array unchanged
Logical array and vectorization: Example 1: THE for LOOP Logical array and vectorization: Example 1: Calculate the sqrt of all the elements of array (a) > 5. Faster
THE for LOOP Logical array and vectorization: Example 2: Calculate the sqrt of all the elements of array (a) > 5, and the square of the remaining (unselected by the previous operation).
THE for LOOP The Matlab Profiler: Used to identify the parts of the program that consume most execution time.
THE for LOOP The Matlab Profiler:
THE for LOOP Example: (Projectile Motion) General equation: When the ball hits the ground
THE for LOOP Example: (Projectile Motion) General equation: When the ball hits the ground
THE for LOOP Example: (Projectile Motion) General equation: When the ball hits the ground
THE for LOOP Example: (Commands and Functions)
Home Work Solve the following problems: 4.[16, 19, 21]