首页 > > 详细

辅导COMP2421语言程序、Python设计程序讲解、data编程语言调试 讲解SPSS|辅导Database

项目预算:   开发周期:  发布时间:   要求地区:
School of Computing, University of Leeds
COMP2421: Numerical Computation
Coursework Seven: Derivatives and Differential Equations (Summative)
These exercises are intended to give you more practice at sketching derivatives and solving
ordinary differential equations: they are intended to reinforce the material that was covered
in lectures. Your solutions should be submitted on Gradescope by 10:00AM on Friday
11th December 2020. This coursework is summative and is worth 20% of the final grade
in this module.
Gradescope instructions:
1) Where numerical answers are requested, short answers will be set up on Gradescope and
the questions below list the answers you will need to provide. For all such answers, please
a) Use decimal notation only.
b) Use either exact answers or round to 4 significant figures.
c) Use numerical answers only – Do not use LaTeX. Do not use letters or symbols, e.g.
to denote recurring decimals or powers.
2) All other answers will require you to upload your answer in pdf format. There is no need
to upload code.
1. [16 marks]
For each of the four graphs on the attached pages plot sketches of the function which
is their derivative at every point. (Please sketch on top of the original graph and hand
these in as your solution to this question.)
2. [9 marks]
The decay of a radio-active material can be modelled by the following differential
equation,
q

(t) = −k × q(t) ,
where q(t) is the quantity of the material (in grams, say) that is present at time t.
Assuming that k = 2.0 and that at t = t0 = 0 we know that q(t0) = 10.0, take four
steps of Euler’s method (with dt = 0.25) to estimate q(1) (i.e. q(t) when t = 1.0).
Answer: q(t1) = , t1 =
q(t2) = , t2 =
q(t3) = , t3 =
q(t4) = , t4 =
3. [7 marks]
Let y(t) satisfy the following differential equation and initial condition:
y

(t) = y
3 + t
2
; y(1) = −1 .
Take three steps of Euler’s method (with dt =
1
3
) to estimate y(2) (i.e. the solution
when t = 2.0).
1
Answer: y(t1) = , t1 =
y(t2) = , t2 =
y(t3) = , t3 =
4. [8 marks]
Use two steps of the midpoint rule, with dt = 0.5, to estimate the solution of the
problem in the previous question (i.e. the same equation and initial condition) at
t = 2.0.
Answer: k = , temp = in step 1
y(t1) = , t1 =
k = , temp = in step 2
y(t2) = , t2 =
5. [10 marks] As shown in lectures, the Euler algorithm applies even in the case of vector
equations (as does the midpoint rule but this is not considered in this question): we can apply Euler’s method with:
f(t, y) = Ay .
This gives the following implementation of Euler’s method at each step:
Writing this in component form, and using Python notation, this gives the following
at each step:
y1[k + 1] = y1[k] + dt × (−2 × y1[k] + y2[k])
y2[k + 1] = y2[k] + dt × (y1[k] − 4 × y2[k])
t[k + 1] = t[k] + dt .
Hence take two steps of Euler’s method, with dt = 0.5, to approximate y(1) (i.e. the
solution at t = 1.0).
Answer: y1(t1) = , and
y2(t1) = , t1 =
y1(t2) = , and
y2(t2) = , t2 =
2
6. [20 marks]
For this question, you may wish to submit figures with your graphical analysis in
addition to your written answers to the questions.
Let y(t) = 4e
t−1 − t
2 − 2t − 2 (where e, the base of the natural logarithm, is a constant
equal to 2.7182818284. . .). The function y(t) satisfies the differential equation:
It is easy to see that for t = 1, y(1) = −1. We will use this as our initial condition.
(a) Write a Python script, using the Euler method function provided to you for numerical
integration, to numerically integrate this differential equation over 10 seconds,
to a final time of t = 11. Extend your code to include an error analysis. Note that you
will need to make some judgements in writing the code (in particular, choosing a time
step and which errors might be expedient to compute.)
Hints:
(i) Use the formula given for y(t) to calculate errors.
(ii) Write your code to conveniently compare different choices of dt.
(iii) You might wish to include graphical analysis of the numerical errors, plotting the
relevant errors as a function of time (note for Python, you would need to import matplotlib
to generate the figures. Alternatively, you might prefer to export the errors and
plot them with your favourite plotting tool). This is not required, but will help you to
answer the following questions.
(b) Based on your analysis, describe the behaviour of the errors after a long integration
time (t ≫ dt and in this case t ≫ 2). How do the errors obtained with different choices
of dt compare?
(c) Specifying dt to one significant figure only, determine the most efficient choice of
dt that should provide an error of at most 1% at t = 11.
The following optional questions are for extension only, and carry no marks.
(d) Optional: How does the behaviour of the absolute and relative errors change for
t < 2, t = 2 and t > 2 and why?
(e) Optional: Discuss the implicatons of the choice of dt you made in item (c).
Consider the following points: (i) The criterion used: this was an accuracy requirement
on the solution at t = 11; (ii) The computational cost. How would you expect this
cost to change if you halved the time step? What if you doubled the time step? How
does the error scale at times t < 2, t = 11?
(f) Optional: Based on your experience above, provide advice for choosing an appropriate
value of dt (for a given differential equation and integration scheme).
(g) Optional: Repeat your analysis with a different integration scheme (midpoint
scheme or the Runge Kutta, RK4 scheme) and compare the results. How do the
choices of dt change? How does the error behave after a long time with this new choice
of integration scheme?

软件开发、广告设计客服
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 9951568
© 2021 www.rj363.com
软件定制开发网!