实验 08 · 矩阵计算
线性方程组与结果验证
使用 MATLAB 求解线性方程组,并用残差范数验证答案。
核心问题
MATLAB 如何求解线性方程组?我们如何知道答案是正确的?
复用技能
- 矩阵维度
- A\b
- residual
- norm
- 错误信息解释
主要任务
- 运行 solve_linear_system.m。
- 记录 A、b、x 的维度。
- 制造并解释一次维度错误。
提交内容
- labs/lab08/solve_linear_system.m
- notes/lab08-notes.md
- 解和残差截图
完整讲义
实验 8:线性方程组与结果验证
数学问题
MATLAB 如何求解线性方程组?我们如何知道答案是正确的?
复用前面技能
- 从课程根目录运行脚本。
- 保存笔记和截图。
- 用 Codex 解释错误。
- 解释数值输出。
- 将计算结果与数学检查进行比较。
任务
- 打开课程根目录并创建实验文件夹:
``powershell cd Desktop\codex-matlab-class mkdir labs\lab08 code . ``
- 将
starters/lab08/solve_linear_system.m复制到labs/lab08/。 - 在 MATLAB 中运行:
``matlab run("labs/lab08/solve_linear_system.m") ``
- 识别 2x2 和 3x3 方程组。
- 对每个方程组记录:
``text size(A) size(b) size(x) residual norm ``
- 修改
b2中的一个值,并解释解如何变化。 - 故意制造一个维度错误,把错误信息复制到
notes/lab08-notes.md,
然后撤销错误。
- 让 Codex 解释这个错误信息。
验证要求
不要只报告 x。必须检查:
A*x - b
norm(A*x - b)
对于正确求解的方程组,残差范数应接近零。
提交内容
labs/lab08/solve_linear_system.mnotes/lab08-notes.md- 解和残差输出截图
笔记要求
包括:
- 运行脚本所用命令;
A、b和x的维度;- 残差范数;
- 故意制造的错误和 Codex 解释;
- 为什么这里优先使用
A\b而不是inv(A)*b。