当前位置:
文档之家› Matlab在线性代数中的应用1讲课讲稿
Matlab在线性代数中的应用1讲课讲稿
else disp('A不可逆');
end
思考:如何用求逆阵或初等变换法解方程组?
3 行列式与方程组求解
解方程:
3211 3 2 2 x2 1
0 5132 7 x2 1 3 2
% 求解符号行列式方程
clear
% 清除各种变量
syms x
% 定义x为符号变量
A=[3,2,1,1;3,2,2-x^2,1;5,1,3,2;7-x^2,1,3,2]
4 向量组的线性相关性及方程组的通解
求非齐次线性方程组的通解
2x1 4x2 x3 4x4 16x5 2
3x31x1
6x2 6x2
2x3 4x3
6x4 23x5 6x4 19x5
7 23
x1 2x2 5x3 2x4 19x5 43
4 向量组的线性相关性及方程组的通解
ห้องสมุดไป่ตู้
% 求齐次线性方程组的通解
• 矩阵除法
– 矩阵求逆 inv(A),如果det(A)等于或很接近零,Matlab会提示出错 – “左除”与“右除”,左乘或右乘矩阵的逆,A\或/A
2 矩阵的基本运算
• 幂运算 ^ A*A*A=A^5 • 转置 ´ 理论学习中,A的转置表示为AT,在Matlab中用“´”表示
3 行列式与方程组求解
Matlab在线性代数中的应用1
1 矩阵赋值
•赋值语句一般形式 变量=表达式(或数) 如:输入a=[1 2 3; 4 5 6; 7 8 9]
显示a = 1 2 3 456 789
输入x=[-1.2 sqrt(3) (1+2+3)/5*4] 显示x=-1.2000 1.7321 4.8000 规则:矩阵元素放在方括号中,元素之间以空格或逗号分 隔,不同行以分号分隔,语句结尾用回车或逗号将显示结 果
3x4 3x4
0 0
3x1 3x2 3x3 (11 k)x4 0
当k取何值时方程组有非零解?在有非零解的情况下,求 出其基础解系
4 向量组的线性相关性及方程组的通解
clear
syms k
% 定义符号变量k
A=[1-2*k,3,3,3;3,2-k,3,3;3,3,2-k,3;3,3,3,11-k];
clear
A=[2,4,-1,4,16;-3,-6,2,-6,-23;3,6,-4,6,19;1,2,5,2,19];
% 输入系数矩阵A
b=[-2;7;-23;43];
% 输入常数列向量b
[R,s]=rref([A,b]);
% 把增广矩阵的最简行阶梯矩阵赋给R
% 而R的所有基准元素在矩阵中的列号构成了行向量s
492 输入 f4=eye(2) 显示 f4= 1 0
000
01
2 矩阵的基本运算
• 矩阵算术运算书写格式与普通算术相同,包括加、减、乘、 除。可用括号规定运算的优先级。
• Matlab将矩阵加、减、乘的程序编为内部函数,只要用+,*做运算符号就包含阶数检查和执行运算的全过程
– 两相加矩阵有一个是标量时,Matlab承认算式有效,自动把标量 扩展为同阶等元素矩阵 如:键入 X=[-1 0 1]; Y=X-1 得 Y= -2 -1 0
null(A, ‘r’), 齐次线性方程组Ax=0的基础解系 x0=A\b, 非齐次线性方程组Ax=b的一个特解x0 length(s), 计算s向量的维数 end, 矩阵的最大下标,最后一行或最后一列 find(s), 向量s中非零元素的下标 sub(A, k, n), 将A中所有符号变量k用数值n代替
% eye(5)为5阶单位矩阵
An4=A\eye(5)
% 5.初等行变换法:
B=rref([A,eye(5)]);
% 对矩阵[A , I] 进行初等行变换
% B为矩阵A的最简行阶梯矩阵
if(rank(B(:,1:5))==5) % 判断最简行阶梯矩阵B的前5列是否为单位阵
An5=B(:,6:10)
% 取出矩阵的后5列,并显示
1 矩阵赋值
• 基本赋值矩阵
ones(m,n), zero(m,n), magic(n), eye(n), rand(m,n), round(A)
如:输入 f1=ones(3, 2) 输入 f3=magic(3)
显示 f1= 1 1
显示 f3= 8 1 6
11
357
11 输入 f2=zero(2, 3) 显示 f2= 0 0 0
[m,n]=size(A);
% 矩阵A的行数、列数赋给了变量m、n
x0=zeros(n,1);
% 将特解x0初始化为N维零向量
r=length(s);
% 矩阵A的秩赋给变量r
x0(s,:)=R(1:r,end);
% 将矩阵R的最后一列按基准元素的位置给特解x0赋值
disp('非齐次线性方程组的特解为:')
D=det(A)
% 计算含符号变量矩阵A的行列式D
f=factor(D)
% 对行列式D进行因式分解
% 从因式分解的结果,可以看出方程的解
X=solve(f)
% 求方程“D=0”的解
4 向量组的线性相关性及方程组的通解
• 相关命令
[R, s]=rref(A), 把矩阵A的最简梯矩阵赋值给R;s是一个行向量,它的元 素由R的首非零元所在列号构成
• 相关命令
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为符号变量
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]; % 1.命令法:
An1=inv(A) % 2.幂运算法:
An2=A^-1 % 3.右除法:
An3=eye(5)/A % 4.左除法:
x0
% 显示特解x0
disp('对应齐次线性方程组的基础解系为:')
x=null(A,'r')
% 得到齐次线性方程组Ax=0的基础解系x
4 向量组的线性相关性及方程组的通解
已知齐次线性方程组:
(1 2k)x1 3x2 3x3 3x4 0
3x1 3x1
(2 k)x2 3x3 3x2 (2 k)x3