MATLAB基础运算【7】:代数运算

系列更新MATLAB各种运算和操作的说明。

本篇主要包括代数运算相关内容(可利用侧边目录直接定位):

  1. 带参数的矩阵或算式计算:“syms”
  2. 秩与判断最大线性无关组:“rref”
  3. 二次型与正交变换:“eig”
  4. 矩阵迹与特征多项式性质的验证
  5. 因式分解:“factor”
  6. 恒等式验证:“expand”
  7. 代数方程组的左除与右除解法:“/”、“\”

前文:

MATLAB基础运算【1】:矩阵元素

MATLAB基础运算【2】:矩阵运算

MATLAB基础运算【3】:微积分运算

MATLAB基础运算【4】:图像绘制

MATLAB基础运算【5】:图像绘制学科专题

MATLAB基础运算【6】:插值拟合与数值微积分

1- 带参数的矩阵矩阵或算式计算:“syms”

求矩阵 A=\begin{bmatrix} 2 & 4\\ 4 & a \end{bmatrix} 的逆和特征值

命令行输入:

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”

用正交变换化下列二次型为标准形f(x_1,x_2,x_3)=x_1^2-4x_1x_2+4x_1x_3-2x_2^2+8x_2x_3-2x_3^2

命令行输入:

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- 矩阵迹与特征多项式性质的验证

:就矩阵 A=\begin{bmatrix} 1 &2 &3 \\ 4& 5 & 6\\ 7& 8 & 0 \end{bmatrix} 验证下列性质

(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”

计算验证三角等式sin\phi cos\theta +cos\phi sin\theta =sin(\phi +\theta)

命令行输入:

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’,一个是对矩阵的列作线性组合,另一个是对矩阵的行作线性组合,故而解对于前者和后者是转置的关系,所以得到的结果中,左除法得到列向量,右除法得到行向量。从第一问可以看出,计算结果存在一定误差,说明计算机计算过程是数值求解的方式逼近,得到的解误差很小可以忽略。

【本篇完】

  • 16
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值