300 likes | 320 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. Bashir NOURI. OBJECTIVES. The while Loop
E N D
Matlab Programming for Engineers Introduction to MatlabMatlab Basics BranchingStatements Loops User Defined Functions Additional Data TypesInput/Output FunctionsSimulink Toolbox Important Toolboxes (if time is available) Dr. Bashir NOURI
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]