PSBC Project 2
Due 5pm Friday, March 29th 2019
In this project, the dynamics between a fox and a rabbit will be investigated1, by solving differential equations modelling their positions at different time.
The initial configuration is shown in Figure 1, where the fox starts chasing the rabbit while the rabbit tries to escape from its predator and moves towards its burrow instantaneously. The fox, initially located2 at (250, −550), pursuing the rabbit with the initial speed sf 0 = 16m/s in one of the following two possible ways:
Warehouse
R(0, 0)
NW(200,0)
SW (200, −400)
F (250, −550)
B(600, 600)
Figure 1: Coordinates (in meters) of the fox (F), the rabbit(R) and its burrow (B), and two corners (SW,NW) of the warehouse.
if the rabbit is in sight, the fox attacks directly towards the rabbit (the direction of the velocity is exact from the fox to the rabbit);
if the view of the rabbit is blocked by the corners SW or NW of an impenetrable ware- house (assuming that the warehouse is extended to the infinity to the east), then the fox runs directly towards this corner. If the rabbit is still not in sight when the corner is reached, then the fox moves along the perimeter of the warehouse until it sees the rabbit.
1The subscripts f and r are used to indicate the speeds or other quantities of the fox and the rabbit below. 2The unit of both coordinates is meter.
1
The rabbit, initially located at the origin (0,0), runs towards its burrow at (600,600) in a straight line with initial speed sr0 = 13m/s.
Question 1: Constant speeds Assuming that both the fox and the rabbit run with constant speeds sf0 = 16m/s and sr0 = 13m/s respectively, determine whether the rabbit can be captured before it reaches its burrow. The rabbit is considered to be captured by the fox, if the distance between them is smaller than or equal to 0.1 meter.
Question 2: Diminishing speeds Let us consider a more realistic scenario, when the hungry fox meets the tired rabbit. Because neither the fox nor the rabbit are in their best conditions, their chasing/escaping speeds diminish in time, according to the amount of distance (starting from the time they find each other and start running) they have travelled so far. More precisely, their speeds at time t are given by
sf (t) = sf0e−μf df (t), sr(t) = sr0e−μrdr(t),
wheresf0 = 16m/s and sr0 = 13m/s are the same initial speeds as above, μf = 0.0002m−1 and μr = 0.0007m−1 are the rates of the diminishing speeds, df(t) and dr(t) are the distance they have travelled up to time t > 0. Determine whether the rabbit can be captured before it reaches its burrow.
Additional information and guidelines
1. Treat both the fox and the rabbit as points, without worrying about their finite sizes (as in most models).
2. The questions can be answered with different approaches, but the preferred way is to use the built-in ODE solver ode45 discussed during the lecture.
3. Avoid using hard-coded number. Any number in your code should either be given as initial condition, or be derived from these conditions.
4. Keep your page length not exceeding eight A4 pages, and no need for a title page or abstract for a relative short report like this. This is a soft page limit just to encourage you to write concisely, and you will not get any penalty if the report is well written.
5. List the complete code of the whole function at the end of each question, or in an appendix. Make your source code more readable, by keeping the indentation and stylistic features, and can be copied from your submitted. It is better to omit the line numbers, in case a block of code has to be copied. Your result should be reproduced from the code attached.
6. Have a look at the generic rubric about how your report will be marked against, and also the intended learning outcomes about what you are expected to achieve in the end.
7. Avoid copying (too many) sentences directly from the project description, and try to restate the problem with your own words or examples if possible.
8. You may use your report in the future as evidences of written work, so take it seriously. I am glad to write a reference (there were about three or four students asked letters from me each year), but good reports from yourself will make my job much easier.
2
9. Your target audience is a fellow student on your course: explain the questions so that the report can be understood without this project description and your approach can be implemented in another computer language like Python. The report should indicate to the reader how well you understand the problem and the approach you take. Your goal will be to communicate your solutions to another person rather than to show you’ve completed the assignment.
10. Balance the explanation of the approach and the comments in the code. Avoid under- commenting and over-commenting.
11. Aim for precision and clarity of writing.
12. Since there is no final exam, you are advised to spend at least 15 hours on each project, with additional self-study if you are less experience with computer programming. Re- member for a 10 credit module like this one, you are expect to spend 100 = 10 × 10 hours in total (including lectures, labs, self-study and coursework).
13. All reports are marked anonymously, and there is no need to put any personal information on the report.
14. The submission for each project will be open two weeks before the deadline. Only your last submission will be marked, and anything submitted after the deadline will be treated late and any penalty will be applied by the Teaching and Learning Office in June according to the Undergraduate Student Handbook.
3