实验 06 · Python -> MATLAB
从 Python 项目迁移到 MATLAB
把 Lab 5 的数据总结项目翻译成 MATLAB,并比较两个版本的输出。
核心问题
如何把一个小型 Python 项目翻译成 MATLAB 并验证结果一致?
复用技能
- MATLAB row vector
- length
- sum
- disp/fprintf
- element-wise 运算
主要任务
- 重新运行 Lab 5 Python 项目。
- 让 Codex 生成 labs/lab06/main.m。
- 运行 MATLAB 脚本并比较输出。
提交内容
- labs/lab06/main.m
- labs/lab06/results.txt
- notes/lab06-notes.md
- 对比截图
完整讲义
实验 6:从 Python 项目迁移到 MATLAB
数学问题
如何把一个小型 Python 数据总结项目翻译成 MATLAB,并验证两个版本结果一致?
复用前面技能
- 用 PowerShell 进入课程根目录。
- 用 VS Code 编辑文件。
- 保存 Codex 提示词到实验笔记。
- 运行一个多文件 Python 项目。
- 手动检查数值总结是否合理。
任务
- 打开课程根目录:
``powershell cd Desktop\codex-matlab-class mkdir labs\lab06 code . ``
- 再次运行你完成的实验 5 项目:
``powershell python labs\lab05\main.py ``
如果你没有可运行的实验 5 项目,可以将 starters/lab06/python_summary_reference.py 复制到 labs/lab06/, 作为参考 Python 版本运行。
- 创建
notes/lab06-notes.md。 - 向 Codex 提问:
``text I know basic Python and I am learning MATLAB. Convert the calculations from labs/lab05/main.py and labs/lab05/analysis_helpers.py into a beginner-friendly MATLAB script named labs/lab06/main.m. Use the data [2, 4, 5, 7, 11, 13]. The MATLAB script should compute count, total, mean, min, max, centered values, squared deviations, sum of squared deviations, and mean squared deviation. It should print comparable output and write a text report to labs/lab06/results.txt. Do not use advanced MATLAB features. ``
- 在课程根目录中打开 MATLAB 并运行:
``matlab run("labs/lab06/main.m") ``
- 比较 Python 和 MATLAB 输出。
必须解释的 MATLAB 概念
笔记中必须解释:
- Python list 与 MATLAB row vector;
len(values)与length(values);- Python
sum(values)与 MATLABsum(values); **与.^;print与disp或fprintf;- Python 从 0 开始索引,MATLAB 从 1 开始索引。
验证要求
MATLAB 输出应与实验 5 的手算检查一致:
total = 42
mean = 7
centered values = [-5 -3 -2 0 4 6]
sum of squared deviations = 90
mean squared deviation = 15
提交内容
labs/lab06/main.mlabs/lab06/results.txt- 如果使用了参考 Python 脚本,还需提交
labs/lab06/python-results.txt notes/lab06-notes.md- Python 输出和 MATLAB 输出截图
Checkpoint
向教师展示:
- Python 和 MATLAB 算出相同总结值;
- MATLAB 脚本是在 VS Code 中编辑的;
- 笔记中包含至少一个 Codex 提示词和一个人工比较;
- 你能解释为什么 MATLAB 在平方偏差中使用
.^。