matlab学习笔记(一)基本操作与矩阵输入
基本操作与矩阵输入
参考课程:台大郭彦甫教授MATLAB课程
基本操作
- +、-、*、/、^
算式 | matlab命令 |
---|---|
cos(((1+2+3+4) ^ 3/5) ^ 0.5 或 cos(sqrt(((1+2+3+4)^3/5))) | |
sin(pi^0.5)+log(tan(1)) | |
2^(3.5*1.7) | |
exp(sin(10)) |
- 算术运算
- 三角函数
- 对数和指数
- 复数
- …
可以通过帮助文档查阅相关函数的使用:帮助中心:数学-函数
Variables(变量)
- 可用Variable变量存中间变量结果,使计算过程简洁明了
- 无需声明类型(默认double型)
- 变量名在左,变量值在右
- 大小写是不同的两个变量
- 变量名开头不能是数字
matlab关键字
- ans:结果变量
- i,j:用i或j来表示复数虚部的单位
- Inf:
- eps:很小很小的数
- NaN:not a number
- pi:
可通过输出 iskeyword 来查看所有matlab关键字:
【注】
如果把function名称当变量用,会根据优先级来使用,会覆盖掉原来的功能,但是可使用 clear 变量名 来消除你用来当变量使用的那个变量空间
数字显示"Format"
数值格式:
行距格式:
【小练习】
算式 | 结果 |
---|---|
分数形式 | |
小数形式 |
【注】
- 分号“;”的使用,在一行的结尾处加 ‘;’ ,不显示运算结果
- 方向箭头:调出前后打过的命令
- clear:清空所有变量的工作空间
- clc:清空命令行窗口
- who:显示工作空间中的变量
- whos:显示工作空间中所有变量的详细信息
矩阵和向量运算
向量及矩阵输入
- 行向量:元素之间用空格隔开
- 列向量:元素之间用分号隔开
- 矩阵:每行元素之间用空格隔开,每一行用分号隔开
索引(index)
向量
矩阵:
如,要找21这个元素,它在第1行第2列:
- A(1,2):中间用逗号隔开,精确按照行列索引
- A(4):没有逗号,只用一个数字做索引,默认按照如下顺序给矩阵元素标序号,21在第4个序号的位置:
- A([1 3 5]):行优先形式,找到第1、第3、第5个序号位置的元素
- A([1;3;5]):列优先形式,找到第1、第3、第5个序号位置的元素
- 【注】 A([1 3] , [1 3]):逗号隔开,前面行,后面列,即找第1行、第3行 和 第1列、第3列的交集的元素点:
【小练习】
冒号运算符(colon operator)
- A[start : stride : end]:从start到end,步长stride(默认为1),首尾元素都包括,生成这样的等差数列
如:
- B = 1:5
- B = 1:2:5
- B = [1:5 ; 2:3:15 ; -2:0.5:0]
- str = ‘a’:2:‘z’
矩阵拼接
矩阵运算
矩阵之间:
- 矩阵加减(+ / -):对应项加减
- 矩阵乘法( * ):
- 矩阵点乘(. *):对应项相乘
- 矩阵的”/“:如,A / B,即:
- 矩阵点除(. /):对应项相除
- A ':A的转置
矩阵和数:
如,A是矩阵,a是实数
- A + a:A中每一个元素都加a
- A / a 或 A . / a :两个表达式结果相同,A中每一个元素都除以a
- A ^ a:多个A矩阵进行矩阵相乘
- A . ^ a:A中每一个元素都进行a次方
一些特殊矩阵
- eye(n):生成n*n的单位矩阵
- zeros(m,n):全0
- ones(m,n):全1
- diag():对角矩阵
一些矩阵常用函数
【注】这里的函数都是先对矩阵中每一列/行部分单独运作
- max(A):在矩阵的每一列中找那一列的最大值(值是一个向量)
- min(A):在矩阵的每一列中找那一列的最小值(值是一个向量)
- max(max(A)):找整个矩阵中的最大元素值
- mean()、sum():同理
- sort(A):对每一列元素从小到大排序(从上至下)
- sortrows(A):按每一行第一个元素大小对整行进行从小到大排序(从上至下)
- size(A):计算行数、列数
- length(A):计算矩阵最长的维度(if row>=col --> length = row;Otherwise --> length
= col) - find(A):找矩阵中特定值的位置,返回整体的序号位置