第四讲:MATLAB语言与现代科学计算

4.1 数值线性代数问题

MATLAB中处理数值线性代数问题非常简便,可以创建各种特殊矩阵:

  • 零矩阵A=zeros(m, n) 用于创建 m 行 n 列的全零矩阵。
  • 全1矩阵A=ones(m, n) 生成 m 行 n 列的全1矩阵。
  • 单位矩阵A=eye(m, n) 生成 m 行 n 列的单位矩阵,主对角线上为1,其余为0。
  • 随机矩阵
  • A=rand(m, n):生成 [0, 1] 区间内均匀分布的随机矩阵。
  • A=randn(m, n):生成标准正态分布的随机矩阵。

此外,MATLAB提供Hilbert矩阵、伴随矩阵和特定结构的矩阵,例如:

  • Hilbert矩阵:元素定义为 H(i, j) = 1/(i+j-1),可用 hilb(n) 函数生成。
  • 伴随矩阵:通过 compan(p) 创建,适用于多项式系数向量 p。
  • Hankel矩阵:对角线元素恒定的对称矩阵,可使用 hankel(c, r) 生成。
  • Vandermonde矩阵:由向量的幂构成,可使用 vander(v) 生成。

4.2 数值微积分

MATLAB 提供了强大的数值积分工具,例如:

  • quad:用于一维数值积分。
  • quadgk:适用于高精度无界或有界积分。
  • dblquad:处理二维积分。

4.3 数据插值与统计分析

在数据插值方面,MATLAB提供了多种方法:

  • 线性插值interp1
  • 样条插值spline
  • 最近邻插值nearest

对于统计分析,MATLAB提供丰富的统计函数,如概率密度函数pdf)、累积分布函数cdf)、假设检验(如ttest)以及回归分析工具。