Lecture 1 - Introduction To Matlab
Lecture 1 - Introduction To Matlab
Lecture 1: Introduction
Lecture time:
Thursday 11:00 – 13:00
Tutors:
Yuval Hart
Maya Geva
Exercise checkers:
Yuval Dorfan
Anat Tzimmer
2
Tips / formalities
Course website
http://www.weizmann.ac.il/midrasha/courses/MatlabIntro
Grade
HWs 60% + 40% ( Exam)
Course references
Official course book: Mastering Matlab 7, Hanselman & Littlefield
Matlab built in tutorial and references
3
Tips / formalities
Signing up for tutorials
4
Course overview
Introduction to Matlab
Maya Geva:
Matlab building blocks: 1D 2D and 3D Image Processing toolbox
arrays
Debugger
GUI toolbox
5
For whom is the course intended?
6
What is the course about?
7
What is the course about?
Example #1 of a data analysis problem
CAGCATATTTGAAGCCGGGCCCACACACAATTGGGGAACGGATCCCCGCGGCCTCCCGGCA
GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGAATTTGAAGCGGATGAAG
GATGAGGAGAGTGACGAAGAAGAGGACGAAGACGACGAGGTCCTTGACGAGGAAGTGAACT
ATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAAATTACTAG
CAGCAGCTTTTCCTAAAGGCTCCTGTGAACACTGCAGAACTAACAGATCTCTTAATTCATA
CAGAACCATATTGGAAGTGTGAATTTGAAGCTTAAGCAAACAAATGTTTCAGAAGACAGCG
ATGATGATGATGCAGATGAAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTTAACTGA
AAGAAAGGTACCCAGTGTGCTGAACAAATTAAAGAGTTGGTATTTGAAGCGGGTGAGAAGA
ACTGTAAAGAATTTGAAGCGGCAGCTGGACAAGCTTTTAAATGACACCACCAAGCCTGTGG
GCTTTCTCCTAAGTGAAAGATTCATTAATGTCCCTCCTCAGATTGCTCTGCCCATGCACCA
GCAGCTTCAGAAAGAATTTGAAGCAATTTGAAGCCTAGTATTTGAAGCTTCTACCTTCTGA
GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGAGGATGAAGACGAAGATC
GATGAGGAGAGTGACGAAGAAGAGGATTTGAAGCACGAAGACGACGAGGTCCTTGACGAGG
AAGTGAATATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAA
ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA
ATTCAACAGAACCATATTGGAAGTGTGATTAAGCAAACAAATGTTTCAGAAGACAGCGATG
ATGATGATGCATTTGAAGCAGATGAAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTT
CTAATAAGCCATGTGGGAAGTGCTCTTTCTACCTTATTTGAAGCACACCATTTGTGGAAGA
ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA
8
What is the course about?
Example #1 of a data analysis problem
CAGCATATTTGAAGCCGGGCCCACACACAATTGGGGAACGGATCCCCGCGGCCTCCCGGCA
GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGAATTTGAAGCGGATGAAG
GATGAGGAGAGTGACGAAGAAGAGGACGAAGACGACGAGGTCCTTGACGAGGAAGTGAACT
ATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAAATTACTAG
CAGCAGCTTTTCCTAAAGGCTCCTGTGAACACTGCAGAACTAACAGATCTCTTAATTCATA
CAGAACCATATTGGAAGTGTGAATTTGAAGCTTAAGCAAACAAATGTTTCAGAAGACAGCG
ATGATGATGATGCAGATGAAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTTAACTGA
AAGAAAGGTACCCAGTGTGCTGAACAAATTAAAGAGTTGGTATTTGAAGCGGGTGAGAAGA
ACTGTAAAGAATTTGAAGCGGCAGCTGGACAAGCTTTTAAATGACACCACCAAGCCTGTGG
GCTTTCTCCTAAGTGAAAGATTCATTAATGTCCCTCCTCAGATTGCTCTGCCCATGCACCA
GCAGCTTCAGAAAGAATTTGAAGCAATTTGAAGCCTAGTATTTGAAGCTTCTACCTTCTGA
GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGAGGATGAAGACGAAGATC
GATGAGGAGAGTGACGAAGAAGAGGATTTGAAGCACGAAGACGACGAGGTCCTTGACGAGG
AAGTGAATATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAA
ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA
ATTCAACAGAACCATATTGGAAGTGTGATTAAGCAAACAAATGTTTCAGAAGACAGCGATG
ATGATGATGCATTTGAAGCAGATGAAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTT
CTAATAAGCCATGTGGGAAGTGCTCTTTCTACCTTATTTGAAGCACACCATTTGTGGAAGA
ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA
9
What is the course about?
Example #2 of a data analysis problem
10 21 10 21
73 21 18 21
10 4 8 21
3 21 10 45
8 21 2 21
10
What is the course about?
Examples #3-4 of data analysis problems
11
What is the course about?
12
Why Matlab?
Easy to learn
Easy to debug
13
Matlab’s main disadvantage…
14
Background - computers
Output
Input
15
Background - hardware
CPU Memory
16
Background - software
High level languages
Examples: C, C++, C#, Java, Pascal, Perl, Lisp, Matlab
Machine language
Example: 0111010101111101…
Another important player:
The operating system
17
The Matlab environment
First we need to Open Matlab
18
The Matlab environment
Opening/saving a file
workspace
19
Matlab can be used as a calculator
20
Our first command
Writing a command in the command line
21
Our first script (M-file)
(1) Writing the script (2) Saving the script
Comments start
with a %
(3) Defining script name (4) Running the script
22
Making errors…
23
Another script…
Making sophisticated graphics and animation in Matlab is easy.
We will learn how to do this in two lectures
Peaks
Z = peaks; surf(Z);
axis tight
set(gca,'nextplot','replacechildren');
5
% Record the movie
for j = 1:20
surf(sin(2*pi*j/20)*Z,Z) 0
F(j) = getframe;
end
-5
% Play the movie twenty times
movie(F,20) 2
3
2
0 1
0
-2 -1
-2
y -3
x
24
Help!!!
help
doc
Example: doc disp
Google
25
Matlab toolboxes
26
Introduction to Matlab
& Data Analysis
Topic #2:
The Matlab Building Blocks - Variables,
Arrays and Matrices
time 007bond
day_of_the_week #time
bond007 ba-baluba
findWord if
while
28
An overview of the main players in
a program
Identifiers
29
Reserved words (keywords)
Words that are part of the Matlab language
There are 17 reserved words:
for if
function
elseif
otherwise
try
continue
break
global
end
while
return case
switch else
catch persistent
30
Constants
The value of a constant is fixed and does not change
throughout the program
Numbers Chars
100 ‘c’
0.3
Strings
Arrays ‘I like to eat sushi’
[12345] ‘1 + 2’
Matrices
[5 3
4 2]
31
Variables
Why do we need variables?
Computer memory
salary
9000
constant
new_salary
Example:
27000
>> salary = 9000;
>> new_salary = salary * 3;
>> disp(new_salary);
variable
27000
Library functions
32
Variables
Another example: The Matlab Console
price_bamba =
price_bamba = 3 3
33
Variables
Another example: The Matlab Console
price_bamba =
price_bamba = 3 3
n_bamba = 2;
34
Variables
The Matlab Console
Another example:
price_bamba =
price_bamba = 3 3
n_bamba = 2; price_bisly =
price_bisly = 5 5
n_bisly = 3; total_price =
21
n_bamba =
5
total_price =
21
36
Variables
salary_I_got_for_my_work_at_the_gasoline_station = 9000;
salary_I_got_for_my_work_in_the_bakery = salary_I_got_for_my_work_at_the_gasoline_station * 3;
disp(salary_I_got_for_my_work_in_the_bakery);
37
Variables Types
Each variable has a type
>> a = 10
a = Returns the type
10 of a variable
>> class(a)
ans = The default variable type
double in Matlab is double
38
Variables Types
Each variable has a type
1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0
40
Computer precision limitations
How much is:
>> 0.42 + 0.08 - 0.5
ans =
0
41
Special variables
>> 4 * 5
ans ans =
20
>> ans + 1
ans =
21
42
Special variables
>> 2 * inf
ans =
ans Inf
pi >> 1 / 0
Warning: Divide by zero.
inf ans =
Inf
43
Special variables
>> 0 / 0
Warning: Divide by zero.
ans ans =
NaN
pi
inf >> NaN + 1
ans =
NaN NaN
In the tutorial you’ll see more…
44
Summary
Matlab is a high level language
45