matlab学习笔记(一)基本操作与矩阵输入


参考课程:台大郭彦甫教授MATLAB课程

基本操作

  • +、-、*、/、^
算式 matlab命令
cos((1+2+3+4)35)cos(\sqrt{\frac{(1+2+3+4)^3}{5}}) cos(((1+2+3+4) ^ 3/5) ^ 0.5 或 cos(sqrt(((1+2+3+4)^3/5)))
sin(π)+ln(tan(1))sin(\sqrt{\pi})+ln(tan(1)) sin(pi^0.5)+log(tan(1))
23.5×1.72^{3.5\times1.7} 2^(3.5*1.7)
esin(10)e^{sin(10)} exp(sin(10))
  • 算术运算
  • 三角函数
  • 对数和指数
  • 复数

可以通过帮助文档查阅相关函数的使用:帮助中心:数学-函数

Variables(变量)

  • 可用Variable变量存中间变量结果,使计算过程简洁明了
  • 无需声明类型(默认double型)
  • 变量名在左,变量值在右
  • 大小写是不同的两个变量
  • 变量名开头不能是数字
    matlab学习笔记(一)基本操作与矩阵输入
    matlab学习笔记(一)基本操作与矩阵输入
    matlab学习笔记(一)基本操作与矩阵输入

matlab关键字

  • ans:结果变量
  • i,j:用i或j来表示复数虚部的单位
  • Inf:\infty
  • eps:很小很小的数ϵ\epsilon
  • NaN:not a number
  • pi:π\pi

matlab学习笔记(一)基本操作与矩阵输入
matlab学习笔记(一)基本操作与矩阵输入
可通过输出 iskeyword 来查看所有matlab关键字:
matlab学习笔记(一)基本操作与矩阵输入
【注】
如果把function名称当变量用,会根据优先级来使用,会覆盖掉原来的功能,但是可使用 clear 变量名 来消除你用来当变量使用的那个变量空间
matlab学习笔记(一)基本操作与矩阵输入

数字显示"Format"

数值格式:
matlab学习笔记(一)基本操作与矩阵输入
行距格式:
matlab学习笔记(一)基本操作与矩阵输入
matlab学习笔记(一)基本操作与矩阵输入
matlab学习笔记(一)基本操作与矩阵输入
【小练习】

算式 结果
313+414+515\frac{3}{13}+\frac{4}{14}+\frac{5}{15}分数形式 232273\frac{232}{273}
313+414+515\frac{3}{13}+\frac{4}{14}+\frac{5}{15}小数形式 0.8498168498168500.849816849816850

matlab学习笔记(一)基本操作与矩阵输入
【注】

  1. 分号“;”的使用,在一行的结尾处加 ‘;’ ,不显示运算结果
  2. 方向箭头:调出前后打过的命令
  3. clear:清空所有变量的工作空间
  4. clc:清空命令行窗口
  5. who:显示工作空间中的变量
  6. whos:显示工作空间中所有变量的详细信息

矩阵和向量运算

向量及矩阵输入

  • 行向量:元素之间用空格隔开
  • 列向量:元素之间用分号隔开
  • 矩阵:每行元素之间用空格隔开,每一行用分号隔开
matlab学习笔记(一)基本操作与矩阵输入matlab学习笔记(一)基本操作与矩阵输入

matlab学习笔记(一)基本操作与矩阵输入

索引(index)

向量
matlab学习笔记(一)基本操作与矩阵输入
矩阵:
如,要找21这个元素,它在第1行第2列:

  • A(1,2):中间用逗号隔开,精确按照行列索引
  • A(4):没有逗号,只用一个数字做索引,默认按照如下顺序给矩阵元素标序号,21在第4个序号的位置:

matlab学习笔记(一)基本操作与矩阵输入

  • A([1 3 5]):行优先形式,找到第1、第3、第5个序号位置的元素
  • A([1;3;5]):列优先形式,找到第1、第3、第5个序号位置的元素
    matlab学习笔记(一)基本操作与矩阵输入
  • 【注】 A([1 3] , [1 3]):逗号隔开,前面行,后面列,即找第1行、第3行 和 第1列、第3列的交集的元素点:

matlab学习笔记(一)基本操作与矩阵输入
【小练习】
matlab学习笔记(一)基本操作与矩阵输入
matlab学习笔记(一)基本操作与矩阵输入
matlab学习笔记(一)基本操作与矩阵输入

冒号运算符(colon operator)

  • A[start : stride : end]:从start到end,步长stride(默认为1),首尾元素都包括,生成这样的等差数列

如:
matlab学习笔记(一)基本操作与矩阵输入

  • B = 1:5
  • B = 1:2:5
  • B = [1:5 ; 2:3:15 ; -2:0.5:0]
  • str = ‘a’:2:‘z’
    matlab学习笔记(一)基本操作与矩阵输入

矩阵拼接

matlab学习笔记(一)基本操作与矩阵输入

矩阵运算

矩阵之间:

  • 矩阵加减(+ / -):对应项加减
  • 矩阵乘法( * ):[m×n][n×s]=[m×s][m\times n]*[n\times s]=[m\times s]
  • 矩阵点乘(. *):对应项相乘
  • 矩阵的”/“:如,A / B,即:AB1B矩阵A 乘矩阵B^{-1}(B可逆)
  • 矩阵点除(. /):对应项相除
  • A ':A的转置

matlab学习笔记(一)基本操作与矩阵输入
矩阵和数:
如,A是矩阵,a是实数

  • A + a:A中每一个元素都加a
  • A / a 或 A . / a :两个表达式结果相同,A中每一个元素都除以a
  • A ^ a:多个A矩阵进行矩阵相乘
  • A . ^ a:A中每一个元素都进行a次方

matlab学习笔记(一)基本操作与矩阵输入

一些特殊矩阵

  • eye(n):生成n*n的单位矩阵
  • zeros(m,n):全0
  • ones(m,n):全1
  • diag():对角矩阵
    matlab学习笔记(一)基本操作与矩阵输入

一些矩阵常用函数

【注】这里的函数都是先对矩阵中每一列/行部分单独运作

  • 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):找矩阵中特定值的位置,返回整体的序号位置

matlab学习笔记(一)基本操作与矩阵输入
matlab学习笔记(一)基本操作与矩阵输入