Presentation on theme: "Lab session on week 12 (8th meeting) 1 more week to go…"— Presentation transcript:
1Lab session on week 12 (8th meeting) 1 more week to go… IT1005We will take class photo today!At the end of the 1st hour of this session…
2This Week’s Agenda Discussion of my Term assignment answers. Review on I believe that most of you have seen the same tables (for q1), and the same plots (for q2-3), but do you curious to know what are my (Lab TA) answers compared with yours? Note, my answers are not 100% correct. This is not official answer!Review onVarious ODE IVP solvers,Curve Fitting using Matlab, andThe initial part of Optimization using MatlabOverview of Lab 8, our last labPreview of what is in store for the last week…Class photo :D
3Term Assignment – Q1.AQ1. A. Naïve trapezium rule, definitely inaccurate. (b-a)*(f(a)+f(b))/2, f(a) is (f(0)), f(b) is f(1000), the result is very imprecise. Let’s observe the plot of f(t) from 0 <= t <= 1000 Parameter c controls the ‘curvature’ of f(t). Only if c = then naïve trapezium rule still give a good approximation.When c is larger, the ‘error’ around this area isbiggerWrong if you draw a triangle here!Note that the y axis start from 0.5!We should draw a trapezium
4Term Assignment – Q1.BQ1. B. More precise trapezium rule, larger n should be ‘more precise’.But why all n produces similar values between Matlab ‘quad’ (likely correct) and my traprule2 (likely not ok)?You get no error because the tested integral range is from -10 to 10 and the graph is ‘special’ (symmetrical)(positive-negative errors cancel each other). That is how you should explain why there is no error.If you change the range of your integral, you will see differences!If you do this, you can show that n = 2 is definitely imprecise.The error from larger/slower n (where it should logically be more precise) is likely because offloating point error around t = 0. Larger n is still better (and slower) for most cases.You can also mention that there is no major effect of increasing n when t is far from 0 for this f(t) with high c.
5Term Assignment – Q2.A-BQ2. A. IVP, IVs = [0.1; 0.1] Q2. B. Interpretation of the plot: the population change periodically (roughly every 5 years), population curve of the predator (lion) is steeper and trails the curve of prey (zebra) by a bit. Bla bla (tell some nice story)… Tricky question: which ODE solver should I use for this case?No major difference between ode45 and ode15s for 10 years…Pick the faster solver then… ode15s?Note: I initially thought ode45 is faster…Some students from Friday groups mentioned that ode15s is actually faster…
6Term Assignment – Q2.C-DQ2. C. To find steady state solutions, use fsolve or solve (symbolic math), Steady state means both dx/dt = 0 and dy/dt = 0 We have two possible steady states: [x = 0.5, y = 1/3] or [x = 0, y = 0] (both extinct) Q2. D. If you supply any of the two steady state IVs, lion/zebra population will be unchanged over time. The [x = 0, y = 0] can be ignored since it is very trivial. NOTE: for [x = 0.5, y = 1/3], if you write 0.33, the graph may looks curvy (this is imprecise)!
7Term Assignment – Q2.EQ2. E. If population of zebra versus lion is plotted, what will we see? A circle (oval/ellipse/egg-shape to be precise)… but which ODE solver that we should use this time? In predator prey relationship, predator depends on the prey to survive. If both has non zero population, their population count will always be on the border of this ellipse. This one looks growing perhaps because of the constants a, b, c, d used in the question. Intermezzo: If prey extinct, predator also extinct soon (no food), but if predator extinct first, prey can survive and even fill the earth (no predator :D), but this model is inaccurate as we omit the death factor of the prey (look at problem description again).Can use different color to show the ‘growth’ode45 left (steady).ode15s right (growing).Is it because ode15s more precise or what? I think ode15s is better
8Term Assignment – Q3.AQ3. A. IVP again, but now 4 ODEs, create a loop to compute the dx/dt. Looking at the differential equation, ri is the birth rate, α is interaction matrix, we know that: Species 1 has average birth (1), but is preyed by/interact with species 2 & 3 (total -2.61) Species 2 has least birth (0.72), but is preyed by/interact with species 3 & 4 (total -1.8), Species 3 has most birth (1.43), but is preyed by/interact with species 1 & 4 (total -2.8), Species 4 has 2nd most birth (1.27), but is preyed by/interact with species 1, 2 & 4 (total -2.07), Looking at the interaction matrix and the plot: Species 1 is likely predator of Species 3 and 4. Species 2 is likely predator of Species 1. Note that there are other ways to describe this plot, e.g. several species competing for the same resource, etc…If you forgot to change r(3) from 1.53 to 1.43, you will see straight lines around here
9Term Assignment – Q3.B-CQ3. B. 3-D plot for 3 species, 3-D plot plus 4th axis is color if you want to show 4 species. If these 4 species are alive, their population count will fall on the surface of this mesh. Q3. C. Lotka-Volterra, a study of population dynamics! Open ended… Hard to grade this one…
10Application 5: IVP Solvers Matlab has several ODE IVP solversWhich one to use?Generally, ode45, ok for normal casesBut if the ODEs are stiff, use the more precise solverode15sIntermezzo, what do you think the plot of “number of term assignment submitted by students over time” will looks like?A stiff plot :p, perhaps something like this.
11Application 6: Curve Fitting This is a graph for my/our research paper (due Friday, 11 Apr 08, 6pm)Look at how I use polyfit/polyval.
12Application 7: Optimization Hm…, fyi, my research is about optimization too.‘A little bit’ more complex than what you see in your lecture notes, but the idea is the same: given so many options, choose one option that minimizes (or maximizes) some objective function.e.g. I deal with problems like TSP (Traveling Salesman Problem), n cities, n! possible tours, one of the tour is shortest.How to deal with simple optimization in MatlabCode the function that you want to optimize in a dedicated function, similar like what we have done with fsolve and ODE solver.Call [x, f] = initial_guess);Wrong initial guess will bring us to ‘local optima’ (good, but not the best).Next: fminconConstraints ‘redefine’ the search space, the global optima may be different than the unconstrained one.
13Lab 8 - OverviewNo ODE (already tested in term assignment), Lab 8 tests fzero (the leftover from Lab 6), polyfit (Curve fitting), and fminsearch (Optimization), in fact, fminsearch is used to do curve fitting.Q1. A-B. fzero, this is the former Lab 6 question 3. If you have not tried this before, do this now! PS: I have taken out my answers from my ppt slides 2 weeks ago.Q1. C. Use polyfit to the results in Q1.B above, and plot the graph.Q2. A. Create a function to compute sum of squared errors.Q2. B. Use fminsearch to find k1, k2, and k3 that minimizes the error in Q2. A and plot the fit.Should be straightforward, you do not need to wait until week 13 to finish this.
14What is left for next week? Fiuh…10% Labs almost done (we still have Lab 8, due on week 13, the last week)I am generous right?, so at least you get [8%..10%]20% Midterm test doneCompare with my modal answer, you should approximately know your score. Assuming you score [10%..15%], your total is now about [18%..25%]30% Term assignment doneMost likely your score will fall in the range of [20%..25%] as long as you submit proper stuffs! So your total is now about [38%..50%]So, ??% out of 60% of IT1005 grade is roughly in your handMost probably your total is already > 40%, the minimum passing grade (D)If it is, 99% you will pass this module, you can skip exam and still pass (with D or C).So, what left is 40% Final exam to decide your final score…Next week, we will discuss PAST YEAR PAPER (you only have 1 sample).Come, if you want to fight for a good score (B/B+/A-/A/A+) .
15Class Photo (1) I always do this every semester You can download our photos here:Photos from my Wednesday classes:2B B B
16Class Photo (2)Photos from my Friday classes:5A A
17Free and Easy Time Now, you are free to explore Matlab to: Do your Lab 8!Review the lessons that you have received during IT1005 course!