0
点赞
收藏
分享

微信扫一扫

matlab学习笔记②

全栈顾问 2022-01-17 阅读 70

向量:

生成向量:

①直接输入: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
举报

相关推荐

0 条评论