Task
Complete the Week 4 lab: use
quadsim.analysis to obtain the hover linear model
— build examples/wk4_analysis.py, compute (A, B) by finite differences,
plot the open-loop pole map, and compute the controllability rank.
The Week 4 lab sheet walks through the build step by step —
this page defines what you hand in and how it is graded.
What to submit (one zip)
wk4_analysis.py— your analysis script (runs top-to-bottom without edits)wk4_poles.png— the open-loop pole map- Report (PDF, ≤ 3 pages): the pole map, the rank, and 5–10 lines interpreting them — why does “all poles at the origin” force us to add feedback?
Pass bar — expected results
- All 12 open-loop poles at the origin (marginally stable chain of integrators)
- Controllability rank 12/12
- Script reproduces both from a clean checkout:
PYTHONPATH=. python examples/wk4_analysis.py
Assessment criteria
| Criterion | Weight | What earns full marks |
|---|---|---|
| Results & verification | 40% | The pass-bar numbers are met and reproduced by re-running your code from a clean checkout. Partial credit tracks how close you get and whether failures are honestly reported. |
| Code correctness & quality | 25% | Your own implementation (not the reference copied back); runs without edits; readable structure and naming; no dead code. |
| Report: plots & numbers | 20% | Requested plots present, axes labelled, units shown; the key numbers stated in text, not left inside figures. |
| Discussion & insight | 15% | Interpretation goes beyond restating outputs — connects the result to the theory taught that week. |
| Total | 100% | = 5% of the course grade |
Lab-specific checks on top of the rubric:
- Pole map correct (12 poles at origin) and rank = 12 reproduced by your script
- Interpretation connects the pole map to the need for feedback (not just restating numbers)
Rules
- Individual work. Discussing ideas is encouraged; code and report must be written by you. Identical code or text is treated under the University’s academic-integrity rules.
- AI assistants (ChatGPT, Copilot, …) may be used as a tool, with two conditions: declare the use in your report (one line is enough), and be able to explain every line you submit — you may be asked to, in person.
- Late submission: −20% per day, not accepted after 3 days. One free 48-hour extension per student per semester — ask before the deadline.
- Re-runs. We grade by re-running your code (
PYTHONPATH=. python …on a clean copy of the course simulator plus your files). “Works on my machine” without reproducibility loses the results marks.
📤 Submit via the MUST LMS
What
the zip described above
Filename
MLTE03_Wk4_<studentID>.zipWhere
MUST LMS → MLTE03 → Week 4 Lab dropbox LMS link — TO FILL
Deadline
date / time — TO FILL (before Week 5)