系列更新MATLAB各种运算和操作的说明。
本篇主要包括代数运算相关内容(可利用侧边目录直接定位):
- 带参数的矩阵或算式计算:“syms”
- 秩与判断最大线性无关组:“rref”
- 二次型与正交变换:“eig”
- 矩阵迹与特征多项式性质的验证
- 因式分解:“factor”
- 恒等式验证:“expand”
- 代数方程组的左除与右除解法:“/”、“\”
前文:
1- 带参数的矩阵矩阵或算式计算:“syms”
例:求矩阵
的逆和特征值
命令行输入:
syms a;
A = [2,4;4,a]; % 计算矩阵 A 的逆,如果 a 使得 A 是可逆的
inv(A), [P,D] = eig(A); % 计算矩阵 A 的特征值和特征向量,结果分别存储在 P 和 D 中
D
输出:
2- 秩与判断最大线性无关组:“rref”
例:求下列向量组的秩和它的一个最大线性无关组,并将其余向量用该最大无关组线性表示。 a1= (4, -3, 1,3), a2= (2, -1, 3, 5), a3= (1, -1, -1, -1), a4= (3, -2, 3, 4), a5= (7, -6, -7, 1)
命令行输入:
a = [4, 2, 1, 3, 7;
-3, -1, -1, -2, -6;
1, 3, -1, 3, -7;
3, 5, -1, 4, 1];
[R, jb] = rref(a), solution = a(:, jb) \ a(:, 3)
% 使用 rref 函数将矩阵 a 转换为行简化形式 R,jb 存储了矩阵 a 中主元所在的列的索引
% 使用矩阵 a 中的前三列(由 jb 索引确定)来解线性方程组, a(:,3) 是矩阵 a 的第四列,由于 rref 函数已经将矩阵 a 转换为行简化形式,我们可以通过回代法求解
输出:
秩为4,一个最大线性无关组为第1,2,4,5个向量,第3个向量可以用0.5*a1-0.5*a2
的方式得到。
3- 二次型与正交变换:“eig”
例:用正交变换化下列二次型为标准形
命令行输入:
A = [1, -2, 2;
-2, -2, 4;
2, 4, -2];
[P, D] = eig(A); % 使用 eig 函数计算矩阵 A 的特征值和特征向量
syms y1 y2 y3;
z1 = [y1, y2, y3];
z2 = [y1; y2; y3];
f = z1 * D * z2; % 这里 D 是对角矩阵,包含 A 的特征值
disp(f);
输出:
- 7*y1^2 + 2*y2^2 + 2*y3^2
这里将二次型转化为矩阵,得到特征值矩阵,而后化为标准型。
4- 矩阵迹与特征多项式性质的验证
例:就矩阵
验证下列性质
(2)设f (x)为A的特征多项式, 则f (A) = 0
1)命令行输入:
A = [1,2,3;4,5,6;7,8,0];
[P,D] = eig(A); % 计算矩阵 A 的特征值和特征向量,结果分别存储在 P 和 D 中
a1 = trace(D), a2 = trace(A), n = cumprod(A); % a1 是矩阵 D 的迹(对角线元素之和),a2 是矩阵 A 的迹,n 是矩阵 A 的元素按列累积乘积
m = diag(D); % m 是矩阵 D 的对角元素
b1 = n(3), b2 = det(A) % b1 是矩阵 A 的元素累积乘积的第三行的值,b2 是矩阵 A 的行列式
输出:
a1 = 6.0000
a2 = 6
b1 = 27.0000
b2 = 27.0000
先从特征值分解得到特征值组成对角阵D,a1为D的迹,即为,a2直接求A的迹,即为
。把D化为向量后用累乘方式可以计算出
,利用det函数可以求出
。从得到结果来看,a1=a2,b1=b2,故而结论成立。
2)命令行输入:
syms x;
B = x*eye(3);
A = [1,2,3;4,5,6;7,8,0];
C = A-B, det(C)
输出:
即可代入验证:
结论成立。
5- 因式分解:“factor”
例:
命令行输入:
syms x;
f = x^4 - 5*x^3 + 5*x^2 + 5*x - 6;
f1 = factor(f)
输出:
f1 = [x-1, x-2, x-3, x+1]
这里利用factor进行因式分解,故而f(x)=(x-1) (x-2) (x-3) (x+1) 。
6- 恒等式验证:“expand”
例:计算验证三角等式
命令行输入:
syms ph th;
a = sin(ph)*cos(th) + cos(ph)*sin(th) - sin(ph+th);
expand(a)
输出:
0
这里expand展开运算
7- 代数方程组的左除与右除解法:“/”、“\”
例:请分别用矩阵左除法和右除法求解下列代数方程组,并思考计算结果的原因
1)左除法与右除法的输入与输出分别为:
2)左除法与右除法的输入与输出分别为:
解释:左除法A\b为Ax=b,右除法b’/A’为xA=b’,一个是对矩阵的列作线性组合,另一个是对矩阵的行作线性组合,故而解对于前者和后者是转置的关系,所以得到的结果中,左除法得到列向量,右除法得到行向量。从第一问可以看出,计算结果存在一定误差,说明计算机计算过程是数值求解的方式逼近,得到的解误差很小可以忽略。
【本篇完】