Control Statements in Matlab

Slides:



Advertisements
Similar presentations
A number of MATLAB statements that allow us to control the order in which statements are executed in a program. There are two broad categories of control.
Advertisements

Week 6 - Programming I So far, we’ve looked at simple programming via “scripts” = programs of sequentially evaluated commands Today, extend features to:
ITEC113 Algorithms and Programming Techniques
Programming Environment S. Awad, Ph.D. M. Corless, M.S.E.E. E.C.E. Department University of Michigan-Dearborn Introduction to Matlab: Control Flow.
Bellevue University CIS 205: Introduction to Programming Using C++ Lecture 3: Primitive Data Types.
General Computer Science for Engineers CISC 106 Lecture 04 Roger Craig Computer and Information Sciences 9/11/2009.
1 Objectives You should be able to describe: Relational Expressions The if-else Statement Nested if Statements The switch Statement Common Programming.
Week 6 - Programming I So far, we’ve looked at simple programming via “scripts” = programs of sequentially evaluated commands Today, extend features to:
Week 7 - Programming I Relational Operators A > B Logical Operators A | B For Loops for n = 1:10 –commands end.
Fall 2006AE6382 Design Computing1 Relational and Logical Operators Use relational operators to test two values Work with values of true and false Compare.
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 21P. 1Winter Quarter MATLAB: Structures.
Chapter 4 MATLAB Programming Combining Loops and Logic Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
INTRO TO PROGRAMMING Chapter 2. M-files While commands can be entered directly to the command window, MATLAB also allows you to put commands in text files.
1 Lab Session-III CSIT-120 Fall 2000 Revising Previous session Data input and output While loop Exercise Limits and Bounds Session III-B (starts on slide.
ECE 1304 Introduction to Electrical and Computer Engineering Section 1.1 Introduction to MATLAB.
Input, Output, and Processing
Fall 2006AE6382 Design Computing1 Control Statements in Matlab Topics IF statement and Logical Operators Switch-Case Disp() vs fprintf() Input() Statement.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. A Concise Introduction to MATLAB ® William J. Palm III.
Summary of what we learned yesterday Basics of C++ Format of a program Syntax of literals, keywords, symbols, variables Simple data types and arithmetic.
1. Exam Topics Difference between computers and calculators John creates a new device. It will compute the orbit of all the planets in the solar system.
C++ Programming: Basic Elements of C++.
What does C store? >>A = [1 2 3] >>B = [1 1] >>[C,D]=meshgrid(A,B) c) a) d) b)
ITEC113 Algorithms and Programming Techniques
CMPSC 16 Problem Solving with Computers I Spring 2014 Instructor: Lucas Bang Lecture 5: Introduction to C: More Control Flow.
ME6104: CAD. Module 4. ME6104: CAD. Module 4. Systems Realization Laboratory Module 4 Matlab ME 6104 – Fundamentals of Computer-Aided Design.
Chapter 4 Controlling Execution CSE Objectives Evaluate logical expressions –Boolean –Relational Change the flow of execution –Diagrams (e.g.,
Week 8: Decisions Bryan Burlingame 21 October 2015.
Lecture 26: Reusable Methods: Enviable Sloth. Creating Function M-files User defined functions are stored as M- files To use them, they must be in the.
1 CS1371 Introduction to Computing for Engineers Control Statements 9/4/2003.
Fall 2006AE6382 Design Computing1 Control Statements in Matlab Topics IF statement and Logical Operators Switch-Case Disp() vs fprintf() Input() Statement.
Gator Engineering Copyright © 2008 W. W. Norton & Company. All rights reserved. 1 Chapter 3 Formatted Input/Output.
1 Structured Programming EEN170 Programming in MATLAB.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
ECE 1304 Introduction to Electrical and Computer Engineering
Topics Designing a Program Input, Processing, and Output
Chapter 3 Control Statements
EEE 161 Applied Electromagnetics
BASIC ELEMENTS OF A COMPUTER PROGRAM
EGR 115 Introduction to Computing for Engineers
CS1371 Introduction to Computing for Engineers
Chapter 3 Control Statements Lecturer: Mrs Rohani Hassan
MATLAB DENC 2533 ECADD LAB 9.
Matlab Workshop 9/22/2018.
MATLAB: Structures and File I/O
More Selections BIS1523 – Lecture 9.
Character Set The character set of C represents alphabet, digit or any symbol used to represent information. Types Character Set Uppercase Alphabets A,
MATLAB (Lecture 2) BY:MAHA ALMOUSA.
StatLab Workshop: Intro to Matlab for Data Analysis and Statistical Modeling 11/29/2018.
CSI 101 Elements of Computing Spring 2009
Iteration: Beyond the Basic PERFORM
MatLab – Palm Chapter 4, Part 2 The if and switch structure
MatLab – Palm Chapter 4, Part 2 The if and switch structure
INTRODUCTION TO MATLAB
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.
Chapter 3: Selection Structures: Making Decisions
Flowcharts and Pseudo Code
Topics Designing a Program Input, Processing, and Output
Experiment No. (1) - an introduction to MATLAB
Summary of what we learned yesterday
Topics Designing a Program Input, Processing, and Output
COSC 1306 COMPUTER SCIENCE AND PROGRAMMING
Chapter 3: Selection Structures: Making Decisions
CS 111 Introduction to Computing in Engineering and Science
Matlab Basics.
DATA TYPES There are four basic data types associated with variables:
Loops CGS3416 Spring 2019 Lecture 7.
MATLAB (Lecture 2) BY:MAHA ALMOUSA.
MatLab Program Used to Calculate Interactive
Electrical and Computer Engineering Department SUNY – New Paltz
Presentation transcript:

Control Statements in Matlab Learning Objectives How is program control implemented in Matlab.? What are the simple output statements? Are there any special values? Topics IF statement and Logical Operators Switch-Case Disp() vs fprintf() Input() Statement Display Format Special Values Summary AE6382 Design Computing Fall 2006

for loop for j=1:10 computations Repeats for specified number of times done for j=1:10 % computations; end computations Repeats for specified number of times ALWAYS executes computation loop at least once!!! Can use + or – increments Can escape (BREAK) out of computational loop AE6382 Design Computing Fall 2006

while loop initialize k while k<10 computations change k k=k+1; end while k<10 done computations change k Will do computational loop ONLY if while condition is met Be careful to initialize while variable Can loop forever if while variable is not updated within loop!!! AE6382 Design Computing Fall 2006

if statements Can include multiple statements condition statements true false if condition true false statements (1) statements (2) if A>10 % computations; else end if A>10 % computations; end Can include multiple statements Statements can also include other if statements (can nest if statements inside if statements) Be careful not to overlap (crossover) if statements! AE6382 Design Computing Fall 2006

if-elseif statement Can have several elseif conditions… false false false else … true true statements (1) statements (2) statements (n) statements (n+1) if A>10 % computations; elseif A<10 else % computations end Can have several elseif conditions… Else is optional and executes if all other tests fail AE6382 Design Computing Fall 2006

If Statement and Logical Operators Relational Operators < less than <= less than or equal to > Greater than >= greater than or equal to == equality ~= not equal What is the value of K? K=5 Interpret the following in words K>10 K*0 ~= 6 What if K is an array? K=ones(5,5) All elements in K are tested if K>10 will fail, but K(2,3)=20; will also fail becase ALL elements must be >10. Refer students to page in book. Sorry do not have book with me. Explain relational operator. Describe each operator. Use the examples at bottom to make your point. Make up more things to interpret. Get students to write down the answers. AE6382 Design Computing Fall 2006

if Statement and Logical Operators (Cont.) OP Symbol not ~ and & or | xor Note: 0 is false Anything else is true 1 A xor B A&B A|B ~A B A AE6382 Design Computing Fall 2006

Relational Operators When relational operators are present: Example 1 All arithmetic operations are performed first (in their particular order) The relational operators are evaluated after. Example 1 (2*3) > (4+1); % solve by hand, then type this into MATLAB The multiplication and addition are first: 6 > 5 The relational operator is evaluated: 6 is greater than 5, so this returns 1 (true) AE6382 Design Computing Fall 2006

Examples a=7; b=4; c=3; ~(a==3*b) a > 5 & b > 5 Evaluates 3*b = 12 Reads: is (a==12) not (from the ~) true? Returns ans = 1 (true) a > 5 & b > 5 Evaluates (a>5) and (b>5) separately. One returns true, the other returns false. Since both are not true, the expression returns false. AE6382 Design Computing Fall 2006

Using Logicals in Assignments True/False values can be assigned to variables. The variables will be assigned the value that returns from relational and/or logical operators. The variables will have a value of 1 or 0. Example: X = a > 2; Then x = 1; Y = b==5; Y will be equal to 0. AE6382 Design Computing Fall 2006

More Examples a=6; b=10; c=-2; Try the following examples without the use of Matlab: X1 = abs(c)>3 & c<(b-a) & b+a > 3 X2 = (b==10) | (a< 4) X3 = a.*5 >= b.*3 & c < a AE6382 Design Computing Fall 2006

Operator precedence 1. transpose (.'), power (.^), complex conjugate, transpose ('), matrix power (^) 2. unary plus (+), unary minus (-), logical negation (~) 3. multiplication (.*), right division (./), left division (.\), matrix multiplication (*), matrix right division (/), matrix left division (\) 4. addition (+), subtraction (-) 5. colon operator (:) 6. less than (<), less than or equal to (<=), greater than (>), greater than or equal to (>=), equal to (==), not equal to (~=) 7. logical AND (&) 8. logical OR ( | ) AE6382 Design Computing Fall 2006

Practice Evaluate the following without Matlab: Practice without the help of Matlab because you will not be able to use Matlab in the midterm. a = 4; b = 20; c = 12; d = 5; One = a>4 & b==20 Two = b<40 | c>10 Three = d.*c > a.*b Four = b.*3<= 100 & d<10 & a.*d==b AE6382 Design Computing Fall 2006

More practice When comparing vectors, the operator (>, <=, ~, &, etc.) is applied element-by-element: a = [0,2,4,2]; b = [4,1,-2,3]; What is: C = a .* b; C = b.^2-a.*b C = a >= b; Try them by hand, then try them in MATLAB. AE6382 Design Computing Fall 2006

If statement example %DEMO %Header function output = DEMO(input) %put help info here! %Do stuff if input > 0 fprintf(‘Greater than 0’) elseif input < 0 fprintf(‘Less than 0’) else fprintf(‘Equals Zero’) end %Set return value if needed outvar = 1; What’s an alternative to the if statement? AE6382 Design Computing Fall 2006

Switch-Case Statement switch expression case condition_1 %Do Stuff #1 case {condition_2a, condition_2b,…} %Do Stuff #2 … otherwise %Do Other Stuff end How does this relate to the ‘if’ statement? Refer students to page number in book. Show what it does. Relate it to Assignment / Project 2 if possible. AE6382 Design Computing Fall 2006

Switch-case statement example units=‘m’; switch units %convert to centimeters case {‘inch’,’in’} y=x.*2.54; case {‘feet’,’ft’} y=x.*2.54.*12; case {‘meter’,’m’} y=x./100; case {‘centimeter’,’cm’} y=x; otherwise disp([‘Unknown units: ‘ units]) y=NaN; end AE6382 Design Computing Fall 2006

Display Formats Enter the following Matrix into Matlab… Let’s explore each format: COMMAND FUNCTION format short default format long 14 decimals format short e 4 decimals format long e 15 decimals format bank 2 decimals format + +,-,blank AE6382 Design Computing Fall 2006

Disp() and fprintf() disp(X) – prints elements of an array X disp(‘hello world’) – prints the string fprintf(fid, format, A) – does the following: Write A to file fid using format (omitting fid prints to screen) format is a string containing output string and format instructions for each variable in A Variables of all printable data types: Conversion specifications involve the character %, optional flags, optional width and precision fields, optional subtype specifier, and conversion characters: d, i, o, u, x, X, f, e, E, g, G, c, and s. The special formats \n,\r,\t,\b,\f can be used to produce linefeed, carriage return, tab, backspace, and formfeed characters respectively. Let’s use DEMO to explore these differences. We will discuss I/O in further depth in a later lecture AE6382 Design Computing Fall 2006

Demonstration Problem % This program will calculate the % area and circumference of ten circles, % allowing the radius as an input, % but will only provide output for circles % with an area that exceeds 20. N = 0; R = 0.0; AREA = 0.0; CIRC = 0.0; for J = 1:1:10 R = input('Please enter the radius: '); AREA = pi * R^2; CIRC = 2.0 * pi * R; if AREA > 20.0 fprintf('\n Radius = %f units',R) fprintf('\n Area = %f units squared', AREA) fprintf('\n Circumference = %f units\n', CIRC) else N = N + 1; end fprintf('\n Number of circles that do not have area > 20: %.0f \n', N) AE6382 Design Computing Fall 2006

Getting User Input How do I prompt user for input? Myvariable = input(‘Some String’); How can I format this better for the user? Myvariable = input(‘Another String’, ‘s’); What’s the difference between the two input lines? Discuss this … do it in class. AE6382 Design Computing Fall 2006

Special Values These objects have special meanings in Matlab: pi - the value 3.1416 (How would I see more values?) i,j - sqrt(-1) (How is this represented?) inf - infinity (How can you prove this represents infinity?) NaN- “Not a number” (When do we get this message?) clock- matrix with date and time date – Current date in string form eps – “Epsilon” the smallest amount by which two values can differ on the current computer ans – just computed value Explain why these are important. My hope is that you will be able to do this in the context of the assignment / project that has been given to them. I have not thought this through for this semester. AE6382 Design Computing Fall 2006

Summary Topics Action Items IF statement and Logical Operators Switch-Case Disp() vs fprintf() Input() Statement Display Format Special Values Summary Action Items Review the lecture Work out the simple control statement examples How do these compare to other languages you have used? AE6382 Design Computing Fall 2006

Problem Statements Sequential computation Draw a flowchart and write the MatLab code that will calculate the area and the circumference of a circle allow the radius to be an input variable output radius, area and circumference. Introduce ‘if’ structure output radius, area and circumference IF the area is greater than 20 square units. AE6382 Design Computing Fall 2006

Problem Statements … contd. Introduce ‘for’ loop Draw a flowchart and write the MatLab code that will calculate the area and the circumference of TEN circles allow the radius to be an input variable output radius, area and circumference IF the area is greater than 20 square units. output the number of circles with area  20. Introduce ‘while’ loop will calculate the area and the circumference of ANY NUMBER of circles J. C. Malzahn Kampe, MATLAB Programming, Division of Engineering Fundamentals, Virginia Polytechnic Institute and State University, Blacksburg, Virginia, 1999. AE6382 Design Computing Fall 2006