0 ratings0% found this document useful (0 votes) 18 views8 pagesUnit - Three - Lecture Notes - Programming With MATLAB
These notes cover matlab programming
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Unit 3: Programming with MATLAB
0 Introduction
Algorithms are the main product of numerical analysis. A mathematical algorithm is a formal
procedure describing an ordered sequence of operations to be performed a finite number of times.
Like
and division, as well as programming constructs like for, while, and if. Therefore, in this unit, our
pes, algorithms form the basic building blocks of addition, subtraction, multiplication,
primary concerns for programming in MATLAB will be three fold: to give students basic
knowledge of MATLAB programming, to prepare students for other courses or modules where
MATLAB js used, and to give you an insight into state-of-the-art tool for technical computation
and visualization.
Q Unit Objectives
On successful completion of the Unit, students should be able to:
Explain the basic concepts of flow control in MATLAB.
Write MATLAB codes
Execute function files
Plot functions
Relate MATLAB codes to other programming environments
tu Key Terms
As you go through this unit, ensure that you understand the key terms or phrases used in this unit
as listed below:
Statement
Code
Run
Loop
Function
Plot
51co
Flow Control
‘What is key to writing and executing MATLAB programs is the ability to understand the flow
control. By this we mean a group of statements which form a basic building block of each
programming language, not only in MATLAB. Thus section therefore explains the basic concepts
of flow control in MATLAB. The topics include
* Ifelse statement
+ Switch and case statement
* For loop
© While loop
1. The If-else statement
This kind of logical statement evaluates a logical expression and executes a group of statements
when the expression is true. Remember the TRUTH table of an “If...then...” statement from
College Algebra module. The options elseif and else keywords provide for the execution of
alternate groups of statements. An end keyword, which matches with the if, terminates the last
group of statements. Then the groups of statements are delineated by the four keywords with no
braces or brackets involved. Basically we have a structure as
if..condition 1 % is true
% execute these commands
% execuite these commands
elseif.....condition n % is true
% execute these commands
else.....otherwise % the default
% execute these commands
52For example, if on the command window, we write a MATLAB code of “if-else” statement for
executing an n xn matrix under some unspecified value of n, then we get an error “Undefined
function or variable 'n'
>> ifn>2
Meeye(n)
elseif n<2
Meones(n)
else
Mzzeros(n)
end
Undefined function or variable 'n’
However, if we write same lines of code, but by beginning with specifying the value of n, first,
then we get the result upon the TRUE condition as
>> if m2
ye(n)
| elseif n<2
| Mzones(n)
else
| M=zeros(n)
| end
| m=
10000 |
01000 |
00100
00010
00001
Here, we see that we get a 5 x 5 identity matrix, executed by the line of code “M=eye(n)” since
the condition “ifn > 2” was TRUE given that n = 5. All other statements” conditions are FALSE
and therefore cannot be executed. To see this, suppose n = 2, we get
53[o> nens
>>ifm2
| Meeye(n)
| elseifne2
Mzones(n)
else
M=zerostn)
end
Mz
°
°
2. Switch and case statement
The switch-case statement executes groups of statements based on the value of a variable or
expression. The keywords case and otherwise delineate the groups. Only the first matching case
is executed. There must always be an end to match the switch. The format is
‘Switch (input)
case 1
case2
For example, using same code for “if-else” statements, we now write
>>n=2;
>> switch(n)
case1
Meeye(n)
case 2
Meones(n)
case 3
M=zeros(n)
543. For loop
Key to running a sequence of steps ina MATLAB code is the “or...loop” statement, The for loop
repeats a group of statements a fixed, predetermined number of times. A matching end delineates
the statements. Its basic structure is
(for ...X=array
% execute these statements
For example
>> n=;
>> for
{m}=rank(magiclm));
end
>
12335
Or another example
234567
55.4, Do While loop
Another kind of important executable programming statement is the “Do...while...loop”. The
while loop repeats a group of statements an indefinite number of times under control of a logical
condition. A matching end delineates the statements. Therefore, the basic structure of.a while loop
appears as
while...expression x is true
i
| doxerecute these statements
| ena
For example,
Bee
>> ile p>
| pot,
|
r=2er0s(p)
end
5. Other flow structures
a) The break statement. A while loop can be terminated with the break statement,
which passes control to the first statement after the corresponding end. The break
statement can also be used to exit a for loop.
56b) The continue statement can also be used to exit a for loop to pass immediately to
the next iteration of the loop, skipping the remaining statements in the loop.
©) Other control statements include return, continue, switch, etc.
Writing programs in MATLAB is supported by six relational and three logical operators as
presented in Table 6 and Table 7, respectively.
Table 6: MATLAB Relational Operators
Expression ‘Symbol
Less than
Less than or equal to
Greater than.
Greater than or equal to
Equal to
Not equal to
Table 7: MATLAB Logicel Operators
Expression ‘Symbol
not
and &
or i
z
57Activity 3.a
a) Consider the following system of linear equations
x+2y432=1
3x+3yt4z=1
2x-+3y +32=2
a, Use the MATLAB editor to create a script file called exercise .m
b. Hence, use the script file to solve for x using A\b method.
b) Use a MATLAB script file called exercise2.m to plot the following cosine functions, yy =
2cosx , yz = cosx, and ys = 0.5 cos x, in the interval 0 < x < 2n.
¢) Consider the following quadratic equation y = 2x? + 3x — 4.
a. Express it in the form of ax? + bx + c = 0 and deduce the values of a, b and c.
b. Hence, write an if...else statement to ctassify the type of roots using discri
4) Write a for...loop statements which form the 5-by-5 symmetric matrix A with (i,j)
element i/j for j > i.
©) Discuss the following while...loop and understand the output.
58