Title: MATLAB basics
1MATLAB basics
- Get to know Matlab
- Interact with Matlab
- Write and save a program
- Run and debug a program
- Loop and for loop structure
- Simple 2D plotting
- Get help in Matlab
2Uses of MATLAB
- MATLAB is a sophisticated mathematical
computation tool. It has many capabilities,
including - Mathematical operations
- Computations with matrices
- Symbolic calculations
- Graphical capabilities, including many plotting
features - MATLAB can be used in many engineering
applications.
3MATLAB Desktop
Command Window Workspace Window Current
Directory Window Command History Window Start
Button
clc clears the command window clear clears
the workspace
4Interacting with MATLAB
Scalar variables
matrices
- Type in the Command Window
- 22
- The solution was stored in the default variable
ans. - Then type
- clear
- Now define C_as
- C_as0.6
- The semi-colon () prevents the result from being
printed to the screen - Only letters, numbers and _ can be used.
- Case sensitive.
- Define 1D matrix (vector) x
- x10.24 or
- xones(4,1)
- The first index is the number of rows and the
second index is the number of columns. - The solution can also be viewed in workspace.
- Then define a 2D matrix
- y1,2,34,5,6
- We can change the value of any elements
- y(2,3)5
- The matrix dimension can also be changed
- y(4,4)7
5Writing a Program
- A MATLAB program can be a collection of command
lines and is in the form of an M-file - An M-file is to MATLAB what a doc-file is to
Microsoft Word. - An M-file is written in text Editor.
- M-files can be used to
- write programs
- save and reopen a program
- Fix errors in a program
6Writing an M-File
- Create a new M-file
- Type edit into the Command Window
- or use the menu File
- Type the following code in the Editor
- epsilon10
- C_as0.5
- r0R/20R
- R5
- rhor/R
- To insert a comment line in an M-file, use the
comment operator , then type in your comment. - After you have typed the code, save it as
concentration.m
7Commenting
- Every time you write a program, it should be
well-commented. - MATLAB
- will not run lines that begin with the comment
operator - shades comments in green
- Commenting can explain
- what the program does
- what the variables in the program represent
- any calculations in the program
- allow programmers to more easily understand your
program - make difficult operations easier to understand
- document when code was written and by whom
- define variables used
- help clarify your own thinking
8Changing the Directory
- To change your directory, click the Browse for
Folder button next to where the Current
Directory is shown. - Navigate through this window to My Computer and
then to where you want to save your M file and
click OK. - You should make sure that your Current Directory
is where your file is, otherwise Matlab will not
run it.
9Running an M-file
- Make sure that your Current Directory is where
your file is. Type concentration into the Command
Window and press enter, or use the Debug menu. - If you typed the code as written on the previous
slide you will get an error. What went wrong? - Error checking, also called debugging, helps to
verify a program works properly. - The advantage of an M-file is that we can go make
the change and run it again without having to
type all the code again.
10Syntax Errors
- Syntax errors are errors in a MATLAB statement
itself, such as spelling or punctuation errors.
sni(pi) ln(x) z 1,2,3,4,5
sin(pi) log(x) z 1,2,3,4,5
Built-in functions sin, cos, log are built-in
functions in MATLAB. There are more built-in
functions we will be using in this class, they
are besseli, besselj, besselk, bessely,
gamma For more information on these functions,
please use help.
11Run-Time Errors
- Run-time errors occur when illegal operations are
attempted during program execution. - One run-time error occurs when attempting to
access an element in a matrix that exceeds the
dimensions of that matrix. - Type the following into the Command Window
- a rand(3,4)
- b a(7,1)
- There are not 7 rows in the matrix A, so an error
message is generated.
12 Logical Errors
- Logical errors occur when the program runs
without displaying an error, but produces an
unexpected result. - Such errors can be very difficult to find. We can
compare simple test cases with known correct
results in an attempt to find where these errors
occur. - For example, the following code is meant to
determine the volume of a sphere - V(4/3)pir2
- Where is the error?
13The Concept of For Loops
- Loops are MATLAB constructs that allow a sequence
of MATLAB statements to be executed more than
once. - For loops repeat a block of commands for known
number of times before the loop is executed.
- For loop syntax
- for index index matrix
- command 1
- command 2
- .
- .
- end
14A Simple For Loop Example
- The commands in a for loop are executed for each
value in the index matrix. - for i15
- xfactorial(i)
- end
- What is the value of the variable x in the
Workspace? - After executing the loop, if we call for x, it
has only one value the value of the index the
final time through the loop. - If all the values shall be saved, use the
following code - for i15
- y(i)factorial(i)
- end
15Creating Matrices With for Loops
- Now we will fill a vector, element by element
using a for loop
for n15 fpringf('The value of n is now
d\n',n) vector_1(n)n
vector_2(n)n2 end
- vector_1 stores the value of n
- vector_1 1 2 3 4 5
- vector_2 stores the square of n
- vector_2 1 4 9 16 25
16Try This
17The Code
18Nested Loops
- One loop can be written inside another loop. The
inner loop is called a nested loop. - One application is a multiplication table
for i 13 for j 13 prod
ij fprintf('d d d \n', i, j,
prod) end end
19Plotting in 2D
epsilon10 C_as0.5 r0R/20R R5 rhor/R Ca
_Casbesseli(0,rhoepsilon)/besseli(0,epsilon)
plot(rho,Ca_Cas)
- This will create a plot
- of rho vs. Ca_Cas, or dependent
- vs. independent.
20Changing the plot
- A grid can help to interpolate the value of a
function or a set of data. - grid on
- grid off
- Adding a title and labels gives more meaning to a
plot. - title('\rho vs. C_A/C_A_s')
- xlabel('\rho')
- ylabel('C_A/C_A_s')
\rho is used to input Greek letter ?. Use the
help feature to search for how to input other
special characters (under text properties).
21Plotting Multiple Curves on a Figure
epsilon10 C_as0.5 r0R/20R R5 rhor/R Ca
_Casbesseli(0,rhoepsilon)/besseli(0,epsilon) ep
silon21 Ca2_Casbesseli(0,rhoepsilon2)/besseli(
0,epsilon2) plot(rho,Ca_Cas,rho,Ca2_Cas)
or plot(rho,Ca_Cas) hold on plot(rho,Ca2_Cas)
22Changing plot style
- Plot the data with a red, dash-dot line with red
stars for points - Rescale axis
- Add in a title
- Add in x, y labels
- Add in legends
- Add in text
plot(rho,Ca_Cas,'r-.') hold on plot(rho,Ca2_Cas)
axis(-0.1,1.1,-0.1,1.1) title('\rho vs.
C_A/C_A_s') xlabel('\rho') ylabel('C_A/C_A_s') leg
end('\epsilon 10','\epsilon
1',2) text(0,0.2,'prepared for CH561')
23Style reference table
Line type Indicator Marker type Indicator Color Indicator
solid - point . blue b
dotted circle o green g
dash-dot -. x-mark x red r
dashed -- plus cyan c
star magenta m
square s yellow y
diamond d black k
triangle down v
triangle up
triangle left lt
triangle right gt
pentagram p
hexagram h
24Subplots
- The subplot() function allows for putting
multiple graphs in one figure. - subplot(m,n,p) divides graphing window into a
grid of m rows and n columns, where p identifies
the part of the window where the plot will be
drawn. These positions are counted from left to
right along each row.
p 1 p 2
p 3 p 4
25Examples of Subplots
- To graph sin(x) and cos(x) on the same figure in
separate plots
subplot(1,2,1) plot(rho,Ca_Cas) title('C_A_1/C_A
_s') xlabel('\rho') ylabel('C_A_1/C_A_s') subpl
ot(1,2,2) plot(rho,Ca2_Cas,'r-.') title('C_A_2/
C_A_s') xlabel('\rho')
26Saving Figures
- There are several ways to save plots created in
MATLAB - Store the MATLAB code for generating the plot in
an M-file - Save the figure as a .fig file, which is MATLABs
graphics format, or in any other standard graphic
format. - Copy the figure into another document EditgtgtCopy
Figure.
27Logarithmic Plots(pg. 155 1 pg. 178 2)
- MATLAB has three kinds of logarithmic plots
- semilogx
- semilogy
- loglog
- These plots replace linear scales with
logarithmic scales. - Logarithmic scales are used when a variable
ranges over many orders of magnitude.
28Getting help in Matlab
29Your Turn!