返回课程总览

实验 08 · 矩阵计算

线性方程组与结果验证

使用 MATLAB 求解线性方程组,并用残差范数验证答案。

核心问题

MATLAB 如何求解线性方程组?我们如何知道答案是正确的?

复用技能

  • 矩阵维度
  • A\b
  • residual
  • norm
  • 错误信息解释

主要任务

  1. 运行 solve_linear_system.m。
  2. 记录 A、b、x 的维度。
  3. 制造并解释一次维度错误。

提交内容

完整讲义

实验 8:线性方程组与结果验证

数学问题

MATLAB 如何求解线性方程组?我们如何知道答案是正确的?

复用前面技能

  • 从课程根目录运行脚本。
  • 保存笔记和截图。
  • 用 Codex 解释错误。
  • 解释数值输出。
  • 将计算结果与数学检查进行比较。

任务

  1. 打开课程根目录并创建实验文件夹:

``powershell cd Desktop\codex-matlab-class mkdir labs\lab08 code . ``

  1. starters/lab08/solve_linear_system.m 复制到 labs/lab08/
  2. 在 MATLAB 中运行:

``matlab run("labs/lab08/solve_linear_system.m") ``

  1. 识别 2x2 和 3x3 方程组。
  2. 对每个方程组记录:

``text size(A) size(b) size(x) residual norm ``

  1. 修改 b2 中的一个值,并解释解如何变化。
  2. 故意制造一个维度错误,把错误信息复制到 notes/lab08-notes.md

然后撤销错误。

  1. 让 Codex 解释这个错误信息。

验证要求

不要只报告 x。必须检查:

A*x - b
norm(A*x - b)

对于正确求解的方程组,残差范数应接近零。

提交内容

  • labs/lab08/solve_linear_system.m
  • notes/lab08-notes.md
  • 解和残差输出截图

笔记要求

包括:

  • 运行脚本所用命令;
  • Abx 的维度;
  • 残差范数;
  • 故意制造的错误和 Codex 解释;
  • 为什么这里优先使用 A\b 而不是 inv(A)*b