MATLAB学习:1. 基本操作与矩阵输入

1.基本操作与矩阵输入

  • 1.1 特殊变量和常量
  • 1.2:MATLAB中的keyword
  • 1.3 数值显示格式控制
  • 1.4 command window和workspace的显示控制
    • command widow显示控制
    • workspace显示控制
  • 1.5 矩阵输入
  • 1.6 矩阵元素subset的提取
    • MATLAB对矩阵元素位置解读的两种角度
      • 角度一:A(row, col)
        • 提取单个元素
        • 一次提取多个元素(利用复合形式的row和col)
      • 角度二:A(index)
        • 提取单个元素
        • 一次提取多个元素(复合形式的index)
  • 1.7 Colon Operator(分号的使用):
    • 快速创建大数组
    • 用分号代表一整行或一整列
      • 用:代表要显示的整行整列
      • 删除整行整列
  • 1.8 矩阵间的连接
  • 1.9 矩阵运算
    • 矩阵运算符
    • 矩阵运算函数

1.1 特殊变量和常量

  • ans
  • i,j(虚数表示)
  • Inf:∞
  • eps:2.2204e-016
  • NaN:not a number(如Inf)
  • pi:π

1.2:MATLAB中的keyword

>> iskeyword

	'break'
    'case'
    'catch'
    'classdef'
    'continue'
    'else'
    'elseif'
    'end'
    'for'
    'function'
    'global'
    'if'
    'otherwise'
    'parfor'
    'persistent'
    'return'
    'spmd'
    'switch'
    'try'
    'while'

1.3 数值显示格式控制

MATLAB学习:1. 基本操作与矩阵输入_第1张图片

1.4 command window和workspace的显示控制

command widow显示控制

  • 控制command widow中每次确定输入之后ans的显示
a = 10      # 确认输入之后会输出ans
b = 10;     # 带有分号,确认输入之后不会输出ans,直接当做变量存储到workspace里
  • 用↑可以查看历史输入指令
  • clc:清除command window的所有显示
  • close all : close all figures

workspace显示控制

  • clear:清除workspace所存储的所有变量信息和计算结果(慎用,不可逆)
  • clear var:清除指定变量var
  • who:显示在workspace所存储的变量
  • whos:显示在workspace所存储的变量的详细信息

1.5 矩阵输入

行向量的表示: a = [1 2 3] (数字之间用空格隔开,表示数字在同一行)
列向量的表示: b = [1;2;3] (数字之间用分号隔开,分号相隔的数字单独成行)

1.6 矩阵元素subset的提取

以一个示例说明对矩阵元素子集的提取:
MATLAB学习:1. 基本操作与矩阵输入_第2张图片

MATLAB对矩阵元素位置解读的两种角度

MATLAB中对矩阵元素位置的解读有两种角度:

角度一:A(row, col)

提取单个元素

A(3,2) : 访问第三行第二列的数字 2

一次提取多个元素(利用复合形式的row和col)

A([1 3], [1 3]):逗号之前的[1 3]为行,逗号之后的[1 3]为列
MATLAB学习:1. 基本操作与矩阵输入_第3张图片
则结果为:[1 6;31 7]

角度二:A(index)

依旧以一个示例进行解释:
MATLAB学习:1. 基本操作与矩阵输入_第4张图片

提取单个元素

A(8):纵向开始数,从左往右依次纵向数,第8个即为所求的A(8): 9

一次提取多个元素(复合形式的index)

  • A([1 3 5]):表示将A(1),A(3),A(5)整合为一个行向量,结果为[1 31 17],即:[A(1) A(3) A(5)]
  • A([1 3; 1 3]):同上,即表示:[A(1) A(3);A(1) A(3)]

1.7 Colon Operator(分号的使用):

快速创建大数组

Want to create a long array:A = [1 2 3 … 100]
Syntax:

  • j:k —> [j j+1 j+2 … k] (default : step=1)
  • j:i:k —>[j j+i j+2i … k] (step=i)
    MATLAB学习:1. 基本操作与矩阵输入_第5张图片
    MATLAB学习:1. 基本操作与矩阵输入_第6张图片
    MATLAB学习:1. 基本操作与矩阵输入_第7张图片

用分号代表一整行或一整列

用:代表要显示的整行整列

显示矩阵的一整行:A(3, :)表示显示矩阵的第3行,冒号表示全部信息
显示矩阵的一整列:A(:, 2)表示显示矩阵的第2列

删除整行整列

删除一整行或一整列:赋值[]即可;如A(3, : ) = []使得A的第三行被删除

1.8 矩阵间的连接

增广矩阵C = A|B在MATLAB中采用C = [A B](注意是中括号而不是括号,中括号代表矩阵)表示

同理,若要将B矩阵放在A矩阵的下方,则表示为:C = [A;B](即之前的数字换为矩阵)

1.9 矩阵运算

矩阵运算符

矩阵运算:(entry表示矩阵项)

  • 点乘:A.*B 表示A,B对应位置的数相乘所形成的矩阵(就像A+B一样只是对应位置的数相加,只是这里换成了乘法)
  • 点除:与点乘同理,乘法换为除法
  • 点阶乘:同理,A.^a 表示每个entry进行a阶乘运算
  • 矩阵加实数:如A + a 表示将A矩阵的所有entry都加上a
  • 矩阵转置:A’
    MATLAB学习:1. 基本操作与矩阵输入_第8张图片
    注:第5行的示例是矩阵[3,5]乘以矩阵[4,8]的转置矩阵,即[4;8]

矩阵运算函数

  • max(A) :表示A中每一列的最大值提取出来后形成的行向量

MATLAB学习:1. 基本操作与矩阵输入_第9张图片

  • max(max(A)) : 表示矩阵中最大的entry,即112
  • min同理
  • sum(A) :表示A中每一列之和所组成的行向量
    MATLAB学习:1. 基本操作与矩阵输入_第10张图片
  • mean(A) : 表示A中每一列的平均数所组成的行向量
  • sort(A):表示A中的每一列进行从小到大的排序(每一个row的数据没有绑定在一起)MATLAB学习:1. 基本操作与矩阵输入_第11张图片
  • sortrows(A):表示A中的所有row按第一列进行排序,每一行row的数据是绑定
    MATLAB学习:1. 基本操作与矩阵输入_第12张图片
    注:由于矩阵本身第一列已经有序,则矩阵没有变动;而sort(A)则对第二列第三列都做了处理
    以下是一个第一列无序的示例:
    MATLAB学习:1. 基本操作与矩阵输入_第13张图片
  • size(A):求出A的m x n
  • length(A):求出A的长,也即为:max(m,n)(将A看成矩形,矩形的长即为length(A)的值)
  • find(A==n):求出A中n的位置是多少(index按前面提到的角度二计算);若不存在则返回:空矩阵: 0×1

你可能感兴趣的:(MATLAB)