Introduction to Matlab Data Analysis Lecture 1 Introduction

Introduction to Matlab & Data Analysis Lecture 1: Introduction Lecture time: Thursday 11: 00 – 13: 00 Course website: http: //www. weizmann. ac. il/midrasha/courses/Matlab. Intro/ Eran Eden, Weizmann 2008 © 1

Team members n Lecturers: n Natalie Kalev-Kronik kalev 001@umn. edu Eran Eden Maya Geva n Tutors: n n n Yuval Hart Maya Geva n Exercise checkers: n n n Yuval Dorfan Anat Tzimmer 2

Tips / formalities n n Course website http: //www. weizmann. ac. il/midrasha/courses/Matlab. Intro The website contains n n Where can I do the HW? n n n On any pc computer at Weizmann (installation of Matlab will be discussed in the first tutorial) In the tutorial class Grade n n Course material: Lectures + tutorials + other Matlab resources HW and solutions News HWs 60% + 40% ( Exam) Course references n n Official course book: Mastering Matlab 7, Hanselman & Littlefield Matlab built in tutorial and references 3

Tips / formalities n Signing up for tutorials (#1) Wed 11: 00 – 12: 00 (#2) Wed 12: 00 – 13: 00 (#3) Wed 13: 00 – 14: 00 n HW assistance at the computer room Once a week in Levine 101 Tuesday 8 -9 am 4

Course overview n Introduction to Matlab n Matlab building blocks: 1 D 2 D and 3 D arrays n Simple data analysis and graphics n Control and boolean logic n Loops n Functions and program design n Cells, structures and Files n Simple algorithms and complexity n Debugger n GUI toolbox Maya Geva: n Image Processing toolbox Signal processing tollbox, curvefitting toolbox Eran Eden n The Bioinformatics Toolbox n Unsupervised learning using Statistics Toolbox n Supervised learning & the Artificial Neural network Toolbox n 5

For whom is the course intended? • For student with no or little experience of Matlab- first two thirds of the course. • For students familiar with Matlab who want to expand their knowledge using Matlab toolboxes- especially last four weeks. 6

What is the course about? (1) Programming in Matlab (2) Tackling data analysis problems with Matlab 7

What is the course about? Example #1 of a data analysis problem CAGCATATTTGAAGCCGGGCCCACAATTGGGGAACGGATCCCCGCGGCCTCCCGGCA GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGAATTTGAAGCGGATGAAG GATGAGGAGAGTGACGAAGAAGAGGACGAAGACGACGAGGTCCTTGACGAGGAAGTGAACT ATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAAATTACTAG CAGCAGCTTTTCCTAAAGGCTCCTGTGAACACTGCAGAACTAACAGATCTCTTAATTCATA CAGAACCATATTGGAAGTGTGAATTTGAAGCTTAAGCAAATGTTTCAGAAGACAGCG ATGATGCAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTTAACTGA AAGAAAGGTACCCAGTGTGCTGAACAAATTAAAGAGTTGGTATTTGAAGCGGGTGAGAAGA ACTGTAAAGAATTTGAAGCGGCAGCTGGACAAGCTTTTAAATGACACCACCAAGCCTGTGG GCTTTCTCCTAAGTGAAAGATTCATTAATGTCCCTCCTCAGATTGCTCTGCCCATGCACCA GCAGCTTCAGAATTTGAAGCAATTTGAAGCCTAGTATTTGAAGCTTCTACCTTCTGA GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGAGGATGAAGACGAAGATC GATGAGGAGAGTGACGAAGAAGAGGATTTGAAGCACGAAGACGACGAGGTCCTTGACGAGG AAGTGAATATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAA ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA ATTCAACAGAACCATATTGGAAGTGTGATTAAGCAAATGTTTCAGAAGACAGCGATG ATGATGATGCATTTGAAGCAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTT CTAATAAGCCATGTGGGAAGTGCTCTTTCTACCTTATTTGAAGCACACCATTTGTGGAAGA ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA 8

What is the course about? Example #1 of a data analysis problem CAGCATATTTGAAGCCGGGCCCACAATTGGGGAACGGATCCCCGCGGCCTCCCGGCA GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGA ATTTGAAGCGGATGAAG GATGAGGAGAGTGACGAAGAAGAGGACGAAGACGACGAGGTCCTTGACGAGGAAGTGAACT ATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAAATTACTAG CAGCAGCTTTTCCTAAAGGCTCCTGTGAACACTGCAGAACTAACAGATCTCTTAATTCATA CAGAACCATATTGGAAGTGTGAATTTGAAGCTTAAGCAAATGTTTCAGAAGACAGCG ATGATGCAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTTAACTGA AAGAAAGGTACCCAGTGTGCTGAACAAATTAAAGAGTTGGT ATTTGAAGCGGGTGAGAAGA ACTGTAAAGAATTTGAAGCGGCAGCTGGACAAGCTTTTAAATGACACCACCAAGCCTGTGG GCTTTCTCCTAAGTGAAAGATTCATTAATGTCCCTCCTCAGATTGCTCTGCCCATGCACCA GCAGCTTCAGAATTTGAAGCAATTTGAAGCCTAGTATTTGAAGCTTCTACCTTCTGA GACCCCGTCCGGCACGACGACGAAGAAGGGGAGGATGAAGTCGAGGATGAAGACGAAGATC GATGAGGAGAGTGACGAAGAAGAGG ATTTGAAGCACGAAGACGACGAGGTCCTTGACGAGG AAGTGAATATTGAATTTGAAGCTTATTCCATCTCAGATAATGATTATGACGGAATTAAGAA ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA ATTCAACAGAACCATATTGGAAGTGTGATTAAGCAAATGTTTCAGAAGACAGCGATG ATGATGATGCATTTGAAGCAGATGAAATTTTTGGTTTCATAAGCCTTTTAAATTT CTAATAAGCCATGTGGGAAGTGCTCTTTCTACCTT ATTTGAAGCACACCATTTGTGGAAGA ATTACTGCAGCAATTTGAAGCAAAGGCTCCTGTGAACACTGCAGATTTGAAGCAACTAACA 9

What is the course about? Example #2 of a data analysis problem 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? (1) Programming in Matlab (2) Tackling data analysis problems with Matlab (3) Learn how to learn Matlab by yourself 12

Why Matlab? n Easy to learn n Easy to debug n Great tool for scientific work n n n Exploring your data Visualizing your data Many useful “toolboxes” 13

Matlab’s main disadvantage… n It’s slower than other programming languages. n (unless you use the compiler)… 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 Low level language Example: Assembly 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 Changing current directory Prompt / Command line Files and Directories inside the current directory The command window 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 o Comments start with a % (3) Defining script name (4) Running the script 22

Making errors… This command does NOT exist in Matlab! Pressing here will bring you to the line in the script where the error occurred 23

Another script… Making sophisticated graphics and animation in Matlab is easy. We will learn how to do this in two lectures Z = peaks; surf(Z); axis tight set(gca, 'nextplot', 'replacechildren'); % Record the movie for j = 1: 20 surf(sin(2*pi*j/20)*Z, Z) F(j) = getframe; end % Play the movie twenty times movie(F, 20) 24

Help!!! n n help doc n n Example: doc disp Google 25

Matlab toolboxes 26

Introduction to Matlab & Data Analysis Topic #2: The Matlab Building Blocks - Variables, Arrays and Matrices Eran Eden, Weizmann 2008 © 27

identifiers n n n Identifiers are all the words that build up the program An identifier is a sequence of letters, digits and underscores “_” Maximal length of identifiers is 63 characters Can’t start with a digit Can’t be a reserved word Examples of Legal identifiers: v v time day_of_the_week bond 007 find. Word Examples of illegal identifiers: v v v 007 bond #time ba-baluba if while 28

An overview of the main players in a program Identifiers Reserved words Library functions Constants Variables User defined functions 29

Reserved words (keywords) n Words that are part of the Matlab language n There are 17 reserved words: n n n n n for function otherwise try break end return switch catch n n n n if elseif continue global while case else persistent n Do NOT try to redefine their meaning! n Don NOT try to redefine their library function names either! 30

Constants n The value of a constant is fixed and does not change throughout the program Numbers 100 0. 3 Chars ‘c’ Strings Arrays [12345] ‘I like to eat sushi’ ‘ 1 + 2’ Matrices [5 3 4 2] 31

Variables n Why do we need variables? Computer memory salary 9000 constant new_salary n variable 27000 Example: >> salary = 9000; >> new_salary = salary * 3; >> disp(new_salary); 27000 Library functions 32

Variables n Another example: price_bamba = 3 The Matlab Console price_bamba = 3 What happens if you omit the ‘; ’ ? 33

Variables n Another example: price_bamba = 3 n_bamba = 2; The Matlab Console price_bamba = 3 What happens when we add the ‘; ’ ? 34

Variables n The Matlab Console Another example: price_bamba n_bamba price_bisly n_bisly = = 3 2; 5 3; price_bamba = 3 price_bisly = 5 total_price = 21 n_bamba = 5 total_price = 21 total_price = price_bamba * n_bamba + price_bisly * n_bisly n_bamba = 5 total_price 35

Variables n Tip #1: Give your variable meaningful names. a = 9000 b = 100 are a bad choice for naming variables that store your working hours and salary! A more meaningful choice of names would salary = 9000; hours = 5; 36

Variables n Tip #2: Don’t make variable names too long 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); Very bad choice of variable name!!! n When should I use capital letters ? n Tip #3: Whatever you do - be consistent. 37

Variables Types n Each variable has a type n Why do we need variable types? n Different types of variable store different types of data >> a = 10 >> class(a) ans = double Returns the type of a variable The default variable type in Matlab is double 38

Variables Types n Each variable has a type n Why do we need variable types? n Different types of variable store different types of data >> a = 10 >> b = 10. 5600 >> c = 'Bush' c = Bush >> d = true d = 1 >> class(a) ans = double >> class(b) ans = double >> class(c) ans = char >> class(d) ans = logical 39

Variables Types n Different variable types require different memory allocations >> a = 10. 4 %double requires 8 bytes a = 10. 4 1 2 1 0 0 0 1 1 0 0 >> b = 'B' b = B n 1 0 1 1 1 0 0 0 3 0 0 1 0 0 0 8 … 1 0 0 0 %char requires 2 bytes 1 2 1 0 0 0 1 1 1 0 0 0 Memory allocation and release is done automatically in Matlab How many bytes are required to store this variable: c = 'Bush' ? 40

Computer precision limitations How much is: >> 0. 42 + 0. 08 - 0. 5 ans = 0 n Why ? ? !#? @ How much is: >> 0. 42 - 0. 5 + 0. 08 ans = -1. 3878 e-017 n 41

Special variables n ans >> 4 * 5 ans = 20 >> ans + 1 ans = 21 42

Special variables n n n ans pi inf >> 2 * inf ans = Inf >> 1 / 0 Warning: Divide by zero. ans = Inf 43

Special variables n n n >> 0 / 0 Warning: Divide by zero. ans = Na. N ans pi >> Na. N + 1 inf ans = Na. N In the tutorial you’ll see more… 44

Summary n Matlab is a high level language n Matlab working environment n Variables & variable types + how to use them 45
- Slides: 45