文档介绍:Matlab在线性代数中的应用
Matlab在线性代数中的应用
目标要求
会给矩阵赋值
会进行矩阵的基本运算,包括:加、减、数乘,乘法,转置,幂等运算
会用命令inv计算矩阵的逆
会用命令det计算行列式;
会用命令rank计算矩阵的秩;
会用命令rref把矩阵变为行最简型;
会用命令rref计算矩阵的逆
会用命令rref解方程组的解
会用命令rref找出向量组的最大无关组
会用命令null计算齐次线性方程组的基础解系
会用左除运算计算非齐次方程组的特解
会用命令orth把向量组正交规范化
会用命令eig计算矩阵的特征值和特征向量
会用命令eig把二次型标准化
会用命令eig判断二次型的正定性
Matlab在线性代数中的应用
1 矩阵赋值
赋值语句一般形式
变量=表达式(或数)
如:输入a=[1 2 3; 4 5 6; 7 8 9]
显示a = 1 2 3
4 5 6
7 8 9
输入x=[- sqrt(3) (1+2+3)/5*4]
显示
规则:矩阵元素放在方括号中,元素之间以空格或逗号分隔,不同行以分号分隔,语句结尾用回车或逗号将显示结果
Matlab在线性代数中的应用
基本赋值矩阵
ones(m,n), zero(m,n), magic(n), eye(n), rand(m,n), round(A)
如:输入 f1=ones(3, 2)
显示 f1= 1 1
1 1
1 1
输入 f2=zero(2, 3)
显示 f2= 0 0 0
0 0 0
1 矩阵赋值
输入 f3=magic(3)
显示 f3= 8 1 6
3 5 7
4 9 2
输入 f4=eye(2)
显示 f4= 1 0
0 1
Matlab在线性代数中的应用
2 矩阵的基本运算
矩阵算术运算书写格式与普通算术相同,包括加、减、乘、除。可用括号规定运算的优先级。
Matlab将矩阵加、减、乘的程序编为内部函数,只要用+,-*做运算符号就包含阶数检查和执行运算的全过程
两相加矩阵有一个是标量时,Matlab承认算式有效,自动把标量扩展为同阶等元素矩阵
如:键入 X=[-1 0 1]; Y=X-1
得 Y= -2 -1 0
矩阵除法
矩阵求逆 inv(A),如果det(A)等于或很接近零,Matlab会提示出错
“左除”与“右除”,左乘或右乘矩阵的逆,A\或/A
Matlab在线性代数中的应用
2 矩阵的基本运算
幂运算 ^
A*A*A=A^5
转置 ´
理论学习中,A的转置表示为AT,在Matlab中用“´”表示
Matlab在线性代数中的应用
3 行列式与方程组求解
相关命令
U=rref(A), 对矩阵A进行初等行变换,矩阵U为A的最简梯矩阵
det(A), 计算矩阵A的行列式
rank(A),计算矩阵A的秩
B(: , i)=b, 把向量b赋给矩阵B的第i行
A(i, j), 引用矩阵A中第i行j列的元素
[A, eye(5)], 创建5×10矩阵,前5列为A,后5列为单位矩阵
syms x, 定义x为符号变量
Matlab在线性代数中的应用
3 行列式与方程组求解
逆矩阵各种求法:
clear
A=[-7,-2,-6,4,6;1,3,-6,3,11;3,-11,9,5,-2;-3,0,-2,9,-3;7,30,-18,11,4];
% :
An1=inv(A)
% :
An2=A^-1
% :
An3=eye(5)/A % eye(5)为5阶单位矩阵
% :
An4=A\eye(5)
% :
B=rref([A,eye(5)]); % 对矩阵[A , I] 进行初等行变换
% B为矩阵A的最简行阶梯矩阵
if(rank(B(:,1:5))==5) % 判断最简行阶梯矩阵B的前5列是否为单位阵
An5=B(:,6:10) % 取出矩阵的后5列,