向量:
生成向量:
①直接输入:A = [1,2,3,4,5,6] → 生成向量A,A是一维向量,具有六个分量
②利用冒号表达式:x = x0:step:xn →x0为首元素值,xn为为元素值限,step为每个元素与前一个元素的等差值
③线性等分向量函数:y = linspace(x1,x2,n) → 生成n维向量,y(1) = x1,y(2) = x2
向量的运算:
①加减:+-
②数乘:*
③点乘:dot()函数 dot(a,b) → a点乘b
④叉乘:cross()函数 cross(a,b) → a叉乘b
⑤混合积:dot(a,cross(b,c))
矩阵:
生成矩阵:
①直接输入:A = [1,2,3;4,5,6;7,8,9]
②函数生成:
函数 | 概要 |
zeros | 生成零矩阵 |
ones | 生成全一矩阵 |
eye | 生成单位矩阵 |
rand | 生成0-1间均匀分布的随机矩阵 |
randn | 生成均值为0,方差为1的标准正态分布矩阵 |
magic | 生成魔方矩阵(行、列、对角线上元素的和相等) |
③运算生成:
R = [1,2,3;4,5,6] N = [4,5,6;7,8,9]
C = R + i*N
矩阵的运算:
①加减:+-
②乘/数乘:*
③乘方:^
④除法(左除\和右除/):x=a\b是方程a*x=b的解,x=b/a是方程x*a=b的解
⑤求逆:inv() 伪逆pinv()
⑥求迹:trace()
⑦求秩:rank()
范数、条件数...
特殊操作:
①对角线元素的抽取:diag()
②上/下三角阵的抽取:tril()取下三角部分 triu()取下三角部分
③变维:
④变向:
旋转:rot90()
翻转:fliplr() 左右翻转;flipud() 上下翻转;flipdim() 按照指定维数翻转
线性方程组求唯一解:
①AX=b → X=A\b
②函数rref()
C = [A,B] %A为系数矩阵,B为常数列,C为增广矩阵
R = rref(C) %将增广矩阵C变为行最简形式
齐次线性方程组求解:
null()求基础解系
format rat %结果用有理分式显示
z = null(A,'r') %z的列向量是AX=0的基础解系
非齐次线性方程组求通解:
%A为系数矩阵,b为常数列,B为增广矩阵,n为未知数个数
n =
R_A = rank(A)
R_B = rank(B)
format rat
if R_A == R_B&R_A == n
X = A\b
%系数矩阵和增广矩阵的秩相同→方程组有解;秩等于未知数个数→有效方程个数等于未知数个数→解唯一
if R_A == R_B&R_A < n
X = A\b %求方程组的一组特解
C = null(A,'r') %求AX=0的基础解系
%系数矩阵和增广矩阵的秩相同→方程组有解;秩小于未知数个数→有效方程个数小于未知数个数→解无穷
else X = 'equition no solve' %其余情况下方程组无解
end
求矩阵的特征值和特征向量:
eig()函数
d = eig(A) %求矩阵A的特征值并赋值给变量d
[V,D] = eig(A) %求矩阵A的特征值对角阵D和特征向量V