Presentation is loading. Please wait.

Presentation is loading. Please wait.

Solving biological problems with MATLAB Lecturer: Chen Keasar, 08-6477875 Office hours: 37/102 Sunday, 14:00-16:00.

Similar presentations


Presentation on theme: "Solving biological problems with MATLAB Lecturer: Chen Keasar, 08-6477875 Office hours: 37/102 Sunday, 14:00-16:00."— Presentation transcript:

1 Solving biological problems with MATLAB Lecturer: Chen Keasar, e-mail: chen@cs.bgu.ac.ilchen@cs.bgu.ac.il 08-6477875 Office hours: 37/102 Sunday, 14:00-16:00 Tutors: Mor Ben-Tov (Life Sciences) E-mail: morbentov@gmail.commorbentov@gmail.com Office hours: 40/310 Wednesday 15:00-16:00 Yonatan Natan (Sde-Boker) E-mail: flyingjony@gmail.comflyingjony@gmail.com Office hours: Sunday 15:00-16:00 Web page URL: http://lhttp://moodle.bgu.ac.il/moodle/

2 What will you learn in the course? Algorithms Building blocks for writing a MATLAB program Using MATLAB for mathematical applications Handling graphics in MATLAB

3 The rules of this course No formal pre-requisite Math course ( מתמטיקה של מערכות or equivalent) is assumed lecture notes on web - print and bring Tutorials – central role in the course Start in class, complete at home, submit every week (through the web site) Each student submits own independent work The use of the Forum of course is allowed, but no code Missing tutorials (e.g., Miluim), can be exempt but it’s your interest to submit even if later3

4 The rules of the game (cont.) Students from Sede Boqer campus will have tutorial there The tutors will instruct you exactly how tom submit tutorial – MUST follow instructions Tutorials not submitted accordingly – will not be accepted ! Final project – selected from a list - or request your own project (no tater than week 5 of the semenster). After project submission – an oral exam in front of computer on the project Final grade – 35% tutorials, 65% final exam

5 What do I do with MATLAB?

6 CLUSTERING

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21 Generation of energy function

22

23

24

25

26 What is MATLAB MATLAB is a language MATLAB is an interpreter MATLAB is an integrated environment MATLAB is a product of MathWorks

27 What is MATLAB MATLAB is a language popSize=23 is a statement in this language. It means: 1. Allocate some space in the computer memory. 2. Tag this space “popSize”. 3. Store the number 23 in that space. MATLAB is an interpreter MATLAB is an integrated environment

28 What is MATLAB MATLAB is a language popSize=23 MATLAB is an interpreter A program that: 1. reads MATLAB statements 2. Translates them to machine language 3. Executes them. MATLAB is an integrated environment

29 What is MATLAB MATLAB is a language popSize=23 MATLAB is an interpreter (command window) >> popSize = 23 MATLAB is an integrated environment popSize=23

30 What is MATLAB MATLAB is a language popSize=23 MATLAB is an interpreter (command window) MATLAB is an integrated environment

31 What is MATLAB MATLAB is an integrated environment

32 Programming with MATLAB Basic components in computer program takes input -> operates on it -> gets output Various Input/Output methods – later simplest input: Allocating a value to a variable, e.g.,: a=2 popSize=23

33 Variable Names Variables start with a letter Can continue with more letters, digits etc. Not longer than 31 characters Make names easy to remember make sure no typos MATLAB is case sensitive popSize is different from PopSize or popSize1

34 Non-recommended variable names a b1 gc initialpopulationsize

35 Functions extend the language Specific Syntax: function output=functionName(input) …. the function itself … end Words of MATLAB language

36 function output=functionName(input) …. the function itself … end Any word you want. Becomes a new word in the language

37 function output=functionName(input) …. the function itself … end Any word you want. Known only within the function

38 function output=functionName(input) …. the function itself … end MATLAB code (may include function calls)

39 Our first function Motivation: populations parthenogenetic aphids

40 Our first function function popSize2 = popDynam(popSize1) birthRate = 0.2 deathRate = 0.1 birth = popSize1 * birthRate death = popSize1 * deathRate change = birth - death popSize2 = popSize1 + change end We will save it in a file popDynam.m

41

42 What had happened? The MATLAB interpreter replaced popSize1 by 23 and executed the lines one by one. function popSize2 = popDynam(popSize1) birthRate = 0.2 deathRate = 0.1 birth = popSize1 * birthRate death = popSize1 * deathRate change = birth - death popSize2 = popSize1 + change end 23

43 This is a bit too verbose

44 Our first function (fixed) function popSize2 = popDynam(popSize1) birthRate = 0.2; deathRate = 0.1; birth = popSize1 * birthRate; death = popSize1 * deathRate; change = birth – death; popSize2 = popSize1 + change; end Is this the shortest way I could write the function?

45

46

47

48 The function’s value may be assigned to a variable (actually it is always assigned)

49 Variables defined in the command window are kept in memory.

50 You can see them all in the “Workspace” window

51 The function’s variable are recognized only within the function

52 Some other aphids may have different birth and death rates. function popSize2=popDynam(popSize1, birthRate, deathRate) birth = popSize1 * birthRate; death = popSize1 * deathRate; change = birth - death; popSize2 = popSize1 + change; end

53 We may want to know the number of births and deaths function pop = popDynam(popSize1, birthRate, deathRate) birth = popSize1 * birthRate; death = popSize1 * deathRate; change = birth - death; popSize2 = popSize1 + change; pop = [popSize2 birth death]; end Row vector

54

55 A row vector may be transposed to a column vector

56 From vectors to matrices >> popParam= [24 0.2 0.1; 38 0.25 0.05] popParam = 24.0000 0.2000 0.1000 38.0000 0.2500 0.0500 Indexing an array/matrix popParam (1,1) popParam (1,2) popParam (1,3) popParam (2,1) popParam (2,2) popParam (2,3)

57 popParam = 24.0000 0.2000 0.1000 38.0000 0.2500 0.0500 >> popParam(1,1) ans = 24 >> popParam(2,2) ans = 0.2500

58 popParam = 24.0000 0.2000 0.1000 38.0000 0.2500 0.0500 >> popParam(1,2:3) ans = 0.2000 0.1000 Note the colon! Here, it represents “to” Note, this is a vector >> ans(1) ans = 0.2000

59 popParam = 24.0000 0.2000 0.1000 38.0000 0.2500 0.0500 >> popParam(1,:) ans = 24.0000 0.2000 0.1000 Note the colon! Here, it represents “all”


Download ppt "Solving biological problems with MATLAB Lecturer: Chen Keasar, 08-6477875 Office hours: 37/102 Sunday, 14:00-16:00."

Similar presentations


Ads by Google