第四讲: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
)以及回归分析工具。