Matlab Array - Creating

Creating

  • 以下方法为直接创建新数组的方法, 不包括组合, 连接, 裁剪已有数组产生新数组的方法

直接创建

一般使用方括号 [], 逗号 , 或空格, 以及分号 ; 来创建数组

  • [] 中给出数组的所有元素
  • 一行中的元素间用 , 或空格分隔
  • 不同行之间用 ; 分隔

行向量

  • 等差数列
    • Operator :: <[start:<step>:end]>
      • 三个参数为 double 类型
      • step 默认为 1
      • end 无需大于等于 start, 不过此时需要 step 需为负数, 否则生成空数组
      • 生成数组第一个元素为 start, 最后一个元素为 (start + [(end - start) / step] * step)
    • 函数 linspace
  • 等比数列

列向量

  • 转置 operator '

二维数组

A = [1 2 3; 2 5 6; 1 4 5];
B = [1:5; linspace(3, 10, 5); 3 5 2 6 4];
C = [[1:3]' linspace(2, 3, 3)' [3 5 6]'];

特殊数组

  • 0-数组: 函数 Matlab Functions - zeros
  • 1-数组: 函数 ones
    • 用法完全同 zeros, 0 换成 1
  • 单位数组: 函数 eye
    • 用法完全同 zeros, 主对角线上为 1, 其余为 0
    • 但不能生成多维 (高于二维) 数组
  • 均匀分布随机数组: 函数 rand
    • 用法完全同 zeros, 0 换成 均匀分布的随机数
    • typename 只能为 singledouble
  • 正态分布随机数组: 函数 randn
    • 用法完全同 rand, 上均匀分布的随机数换成 正太分布的随机数
  • 逻辑数组: 函数 truefalse
    • 用法完全同 zeros, 0 换成逻辑值 1/0, 因此生成的是逻辑值数组
    • 于是没有 typename 参数
  • 对角数组: 函数 diag
  • 魔方数组: 函数 magic