330 likes | 609 Views
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. Nidal Farhat. OBJECTIVES .
E N D
Matlab Programming for Engineers Introduction to Matlab Matlab Basics BranchingStatements Loops User Defined Functions Additional Data Types Input/Output Functions Simulink Toolbox Important Toolboxes (if time is available) Dr. Nidal Farhat
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):
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.
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 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
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:
THE for LOOP • Logical array and vectorization: Double array Logical array
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
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: (Commands and Functions)
Home Work • Solve the following problems: • 4.[16, 19, 21]