%%线性代数基础知识
clear
clc
A = [8 4 3;4 8 6;7 8 9]
inv(A)
transpose(A)
rref(A)
rank(A)
det(A)
B = [8 9 2;4 7 5;7 4 8]
mul = A*B
chu1 = A\B
chu2 = A/B
jian = A-B
%%例子
clear
clc
syms a b c d
A = [a b;c d]
A'
inv(A)
det(A)
%%矩阵的变换与分解
%提取对角元素
clear
clc
A = pascal(3)
diag(A)
%产生第K阶对角线上的元素
a = [1 2 3]
A = diag(a,0)
B = diag(a,1)
C = diag(a,-1)
%创建一个分块矩阵
m =1
n = [1 2;3 4]
p = 9
d = [1 -1;2 -2;3 -3]
S = blkdiag(m,n,p,d)
%%矩阵的分解
clear
clc
A = [45 56 34 87 98 23 56 90;23 64 27 75 97 24 58 90;26 83 38 41 21 70 56 35]
B = [4 2 3;4 5 6;7 8 9]
%有奇异值分解
s = svd(A)
[U,S,V] = svd(A)
[U1,S1,V1] = svd(A,0)
%LU分解
[L,M] = lu(A)
%QR分解
[Q,R] = qr(A)
%Cholesky分解
C = chol(B)
%%特征值与特征向量
clear
clc
A = [4 6 0;-3 -5 0;-3 -6 1]
P = poly(A)
[V,D] = eig(A)
Q = roots(poly(A))
%%矩阵的相似对角化
%化A为对角阵
O = V\A*V
%%将一个二次型化为标准型
clear
clc
A = [1 1 0 -1;1 1 -1 0;0 -1 1 1 ;-1 0 1 1]
[P,D] = eig(A)
syms x1 x2 x3 x4
X = [x1;x2;x3;x4]
Y = P*X
%%齐次线性方程组的直接求法
clear
clc
A = [1 1 1 1 1;3 2 1 1 -3;0 1 2 2 6;5 4 3 3 -1]
B = null(A,'r')
syms k1 k2 k3
x = k1*B(:,1)+k2*B(:,2)+k3*B(:,3)
%%非齐次线性方程组直接求法
clear
clc
%求逆法,对于AX=B,只要A的行列式不为0
%解为inv(A)*B
%左除法与右乘法
A = [1 1 5;
2 1 8;
1 2 7;
-1 1 -1];
b = [6 8 10 2]';
M = [A b];
R = rref(M)
%%符号线性方程组求解
clear
clc
syms a b c
A = [a 0 0;0 b 0]
b = [1;c]
X = linsolve(A,b)
%%非线性方程组符号解
clear
clc
e1 = str2sym('a+b+x=y')
e2 = str2sym('2*a*x-b*y=-1')
e3 = str2sym('2*(a+b)=x+y')
e4 = str2sym('a*y+b*x=4')
[a,b,x,y] = solve(e1,e2,e3,e4)
%%常微分方程的符号解
clear
clc
dsolve('Dy=1+y^2','x')
dsolve('Dy=1+y^2','y(0)=1','x')
dsolve('x^2*D2y+x*Dy+(x^2-1/2)*y=0','y(pi/2)=2','Dy(pi/2)=-2/pi','x')
MATLB实现线性代数基础知识(加减乘除,求逆,分解,解方程组)
猜你喜欢
转载自blog.csdn.net/weixin_51229250/article/details/122151980
今日推荐
周排行