# 辅导MATH36031、辅导MATLAB程序设计

- 首页 >> Web MATH36031 Project 2 - deadline 25th November 2022, time 1100hrs.

In this project, you will investigate the problem of a fox chasing a rabbit by solving differential

equations modelling their positions at different times. 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 is initially located1 at

(?250,?550), pursues the rabbit with the initial speed sf0 = 16m/s in one of the following

two possible ways:

Warehouse

F(-250,-550)

S(-200,-400)

R(0,0)

B(-600,600)

N(-200,0)

Figure 1: Coordinates (in metres) of the fox (F), the rabbit (R) and its burrow (B) and the

two corners (S,N) of the warehouse.

if the rabbit is in sight, the fox’s attack path points directly towards the rabbit (the

direction of the velocity vector of the fox is exact from the fox to the rabbit);

if the view of the rabbit is blocked by the corner S of an impenetrable warehouse

(assuming that the warehouse is extended indefinitely to the west), 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 parallel to the N-S perimeter of the warehouse until it sees

the rabbit.

1The subscripts f and r denote the fox and rabbit respectively. The units of the coordinates are metres.

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

μfdf (t), sr(t) = sr0e?μrdr(t),

where sf0 = 16m/s and sr0 = 13m/s are the same initial speeds as above, μf = 0.0002m

1

and μr = 0.0008m

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. (You may assume that this diminishing speed starts from t = 0).

Outputs required You are required to submit a report (maximum 8 pages including

any appendices) in pdf form via the Turnitin submission box on Blackboard. Additionally

you need to submit your m-files used for the MATLAB codes via the Blackboard submission

box. In your report give (i) the time T and the location of the fox when either the rabbit is

captured or the rabbit escapes to the burrow; (ii) the distance travelled by the fox in time

T . Additionally provide a plot showing the paths taken by both animals.

Additional information and guidelines

1. All coding must be done in MATLAB.

2. Treat both the fox and the rabbit as points, without worrying about their finite sizes

(as in most models).

3. The questions can be answered with different approaches, but the preferred way is to

use the built-in ODE solver ode45 discussed during the lectures.

4. Avoid using hard-coded numbers. Any number in your code should either be given as

initial condition, or be derived from these conditions.

5. Keep your page length not exceeding eight A4 pages, with a font size no smaller

than 11, and page margins no smaller than 2cm. There is no need for a title page for

a relative short report like this. If more than 8 pages are submitted only the

first 8 pages will be marked and the rest of the submission will be ignored.

6. 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

2

stylistic features, and can be copied from your submitted. Your published results

should be reproducable from the code attached.

7. Have a look at the generic rubric about how your report will be marked, and also the

intended learning outcomes about what you are expected to achieve in the end.

8. Avoid copying (too many) sentences directly from the project description, and try to

restate the problem with your own words or examples if possible.

9. You may use your report in the future as evidences of written work, so take it seriously.

10. 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. The report should indicate to the reader how

well you understand the problem and the approach you have taken, the validation and

other checks that you made to ensure your results are credible. Reports submitted

containing codes only and with no explanations of how the problem was solved, will

result in a failing mark, even though the codes may work perfectly well and give the

correct answers.

11. Balance the explanation of the approach and the comments in the code. Avoid under-

commenting and over-commenting.

12. Aim for precision and clarity of writing.

13. 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).

14. Please do not put any personal information on the report, only your student ID number.

15. The submission box (via Blackboard and Turnitin) for each project will be open two

weeks before the deadline, and you are encouraged to submit an early draft to see

how Turnitin works on Blackboard. Only your last submission will be marked, and

DO NOT submit anything after the deadline. Any late penalty will be applied by

the Teaching and Learning Support Office according to the Undergraduate Student

Handbook, and any extension has to be approved from the Office too (not from the

lecturer).

16. This coursework is meant to be an individual piece of work and the reports must

be written by yourself. Your attention is drawn to the section 4.10 on Academic

Malpractice on page 36 of the undergraduate handbook. Cases of plagairism will

be treated seriously and individuals will be reported to the University Disciplinary

Committee.

In this project, you will investigate the problem of a fox chasing a rabbit by solving differential

equations modelling their positions at different times. 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 is initially located1 at

(?250,?550), pursues the rabbit with the initial speed sf0 = 16m/s in one of the following

two possible ways:

Warehouse

F(-250,-550)

S(-200,-400)

R(0,0)

B(-600,600)

N(-200,0)

Figure 1: Coordinates (in metres) of the fox (F), the rabbit (R) and its burrow (B) and the

two corners (S,N) of the warehouse.

if the rabbit is in sight, the fox’s attack path points directly towards the rabbit (the

direction of the velocity vector of the fox is exact from the fox to the rabbit);

if the view of the rabbit is blocked by the corner S of an impenetrable warehouse

(assuming that the warehouse is extended indefinitely to the west), 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 parallel to the N-S perimeter of the warehouse until it sees

the rabbit.

1The subscripts f and r denote the fox and rabbit respectively. The units of the coordinates are metres.

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

μfdf (t), sr(t) = sr0e?μrdr(t),

where sf0 = 16m/s and sr0 = 13m/s are the same initial speeds as above, μf = 0.0002m

1

and μr = 0.0008m

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. (You may assume that this diminishing speed starts from t = 0).

Outputs required You are required to submit a report (maximum 8 pages including

any appendices) in pdf form via the Turnitin submission box on Blackboard. Additionally

you need to submit your m-files used for the MATLAB codes via the Blackboard submission

box. In your report give (i) the time T and the location of the fox when either the rabbit is

captured or the rabbit escapes to the burrow; (ii) the distance travelled by the fox in time

T . Additionally provide a plot showing the paths taken by both animals.

Additional information and guidelines

1. All coding must be done in MATLAB.

2. Treat both the fox and the rabbit as points, without worrying about their finite sizes

(as in most models).

3. The questions can be answered with different approaches, but the preferred way is to

use the built-in ODE solver ode45 discussed during the lectures.

4. Avoid using hard-coded numbers. Any number in your code should either be given as

initial condition, or be derived from these conditions.

5. Keep your page length not exceeding eight A4 pages, with a font size no smaller

than 11, and page margins no smaller than 2cm. There is no need for a title page for

a relative short report like this. If more than 8 pages are submitted only the

first 8 pages will be marked and the rest of the submission will be ignored.

6. 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

2

stylistic features, and can be copied from your submitted. Your published results

should be reproducable from the code attached.

7. Have a look at the generic rubric about how your report will be marked, and also the

intended learning outcomes about what you are expected to achieve in the end.

8. Avoid copying (too many) sentences directly from the project description, and try to

restate the problem with your own words or examples if possible.

9. You may use your report in the future as evidences of written work, so take it seriously.

10. 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. The report should indicate to the reader how

well you understand the problem and the approach you have taken, the validation and

other checks that you made to ensure your results are credible. Reports submitted

containing codes only and with no explanations of how the problem was solved, will

result in a failing mark, even though the codes may work perfectly well and give the

correct answers.

11. Balance the explanation of the approach and the comments in the code. Avoid under-

commenting and over-commenting.

12. Aim for precision and clarity of writing.

13. 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).

14. Please do not put any personal information on the report, only your student ID number.

15. The submission box (via Blackboard and Turnitin) for each project will be open two

weeks before the deadline, and you are encouraged to submit an early draft to see

how Turnitin works on Blackboard. Only your last submission will be marked, and

DO NOT submit anything after the deadline. Any late penalty will be applied by

the Teaching and Learning Support Office according to the Undergraduate Student

Handbook, and any extension has to be approved from the Office too (not from the

lecturer).

16. This coursework is meant to be an individual piece of work and the reports must

be written by yourself. Your attention is drawn to the section 4.10 on Academic

Malpractice on page 36 of the undergraduate handbook. Cases of plagairism will

be treated seriously and individuals will be reported to the University Disciplinary

Committee.