
MATLAB 学习笔记(1)
MATLAB 学习笔记(1)
显然从 MATLAB 的名字就可以看出其是一个擅长矩阵计算的数学软件,本节稍微介绍一下 Matlab 的基本语法。
变量和赋值
标识符
标识符是用来标识变量名、常量名、函数名和文件名的字符串的统称。第一个字母一定要是英文字母,区分大小写。
矩阵及其元素赋值
MATLAB 中的变量或常量都代表矩阵,标量视为 1×1 的矩阵。
举个例子
如果是 cpp 会输出12598,应该是 49×28+51+3
而 MATLAB 则输出的是一个 1×2 的矩阵,这是因为 ′13′ 在 MATLAB 里是用一个 1×2 的矩阵进行的存储,这里就是各自的 ASCII 码加 3 得到了这个结果,所以输出 52 54
赋值语句的一般形式为:变量=表达式(或数)
如 a=[1 2 3;4 5 6;7 8 9]
得到的显示结果就是
同一行元素之间用逗号或空格分开,不同行用分号隔开,语句尾用回车或逗号会显示运算结果,用分号则只执行运算不显示结果。
可以通过下标给单个元素赋值,如上面的矩阵中通过代码 a(2,3)=5
则可以得到结果
如果赋值的下标超过了矩阵大小则会自动扩充,多余的补 0
给全行赋值则可用冒号,如 a(5, : )=[5,4,3]
得到
可以把矩阵的某些行和某些列交点取出变成新矩阵,比如 b=a([2,3],[1,3])
就是将第2、3行和1、3列交点取出。
删去某些行则可以用赋值空矩阵的方法,如a(4, : )=[]
复数
虚数部分用 i 或 j 表示,数字和 i 的乘积可以省略乘号,矩阵不行。
若之前给 i,j 赋过值,可以通过 clear i,j
清除。
此外矩阵还可以进行转置、共轭运算,先定义一个复数矩阵,
可以进行运算
变量检查
工作空间内的变量名和变量特征可以用 who
和 whos
指令查看,如复数一节所得到的工作空间。
此外结果 Inf
( -Inf
)无穷大和 NaN
(0/0,Inf/Inf,0*Inf)不包含在以上变量检查内。
基本赋值矩阵
MATLAB 有一些预设的基本矩阵。
linspace(a,b,n)
在 a 和 b 之间均匀产生 n 个点,形成 n 维向量
可以用多个小矩阵组成大矩阵,但要保证行列数正确
矩阵初等运算
加减乘
可用 size
语句检查矩阵阶数
若一维可用 length
检查
矩阵相加要求行列数相同,但加减标量时会把标量扩展成同阶等元素矩阵。
矩阵乘法和数乘不多bb,自行参考线代。
除及线性方程的解
若同阶方阵 A 和 V 满足
AV=I
则,V 称为 A 的逆阵,记为
V=A−1
MATLAB 中可以用函数 inv 求逆阵,
V=inv(A)
若方程
D∗X=B
同时左乘inv(D).
inv(D)DX=inv(D)BX=inv(D)B
逆阵左乘记作
\
,如上式可写成 X=D∖B,称为左除同理逆阵右乘记为/
,Binv(D)=B/D,称为右除
可以用来解线性方程式。
6x1+3x2+4x3=3−2x1+5x2+7x3=−48x1−4x2−3x3=−7
写作矩阵形式
Ax=B
若方程数大于未知数,也能给出解,但不是准确解而是最小二乘解。
方程数小于未知数能求出某个特殊解。
乘方和幂次
运算符 *
、/
、\
、^
,指数函数expm
、对数函数 logm
、开方函数sqrtm
是对矩阵进行的,其他函数是对元素进行的,注意区分带m
的函数和没有的区别。
其他改变矩阵结构的函数
矩阵大概就这些,我困了,别的下章再说。
No Comments