Download presentation
Presentation is loading. Please wait.
Published byMartina Bailey Modified over 9 years ago
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
21
Generation of energy function
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
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?
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
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”
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.