首页 > 编程笔记 > MATLAB笔记 阅读:4

MATLAB向量生成的多种方法(附带实例)

向量是一个有方向的量。在平面解析几何中,用坐标表示成 (a,b),数据对 (a,b) 称为一个二维向量。立体解析几何中,用坐标表示成 (a,b,c),数据组 (a,b,c) 称为三维向量。

线性代数推广了这一概念,提出了 n 维向量,在线性代数中,n 维向量用 n 个元素的数据组表示。

MATLAB 讨论的向量以线性代数的向量为起点,能够扩展到 n 维抽象空间,也可用来解决平面和空间的向量运算问题。

在 MATLAB 中,生成向量的方法主要有直接输入法、冒号表达式法和函数法 3 种。

MATLAB直接输入法生成向量

在命令提示符之后直接输入一个向量,其格式如下:
向量名=[a1,a2,a3,...]

【实例 1】直接输入法输入向量。在命令行窗口中输入以下语句,并查看输出结果。
>> A=[7, 8, 9, 5, 6]       % 定义一个行向量 A
A =
     7     8     9     5     6
>> B=[3; 1; 2; 6; 9]       % 定义一个列向量 B
B =
     3
     1
     2
     6
     9
>> C=[6 2 8 4 5 9]         % 定义一个行向量 C
C =
     6     2     8     4     5     9

MATLAB冒号表达式法生成向量

利用冒号表达式 a1:step:an 也能生成向量,式中 a1 为向量的第一个元素,an 为向量最后一个元素的限定值,step 是变化步长,省略 step 时系统默认为 1。

【实例 2】用冒号表达式生成向量。在命令行窗口中输入以下语句,并查看输出结果。
>> A=2:2:10
A =
     2     4     6     8    10
>> B=2:10
B =
     2     3     4     5     6     7     8     9    10
>> C=10:-1:1
C =
    10     9     8     7     6     5     4     3     2     1
>> D=10:2:4
D =
     空的 1×0 double 行向量
>> E=3:-1:10
E =
     空的 1×0 double 行向量

MATLAB函数生成向量

MATLAB 中有两个函数可直接生成向量:
linspace() 函数的通用格式为:
A=linspace(a1,an,n)
a1 是向量的首元素,an 是向量的尾元素,n 把 a1 至 an 之间的区间分成向量的首尾之外的其他 n-2 个元素,间距为(an-a1)/(n-1)。省略 n 则默认生成具有 100 个元素的向量。

【实例 3】利用函数 linspace() 生成向量。在命令行窗口中输入以下语句,并查看输出结果。
>> A=linspace(1,20,6)
A =
     1.0000    4.8000    8.6000   12.4000   16.2000   20.0000
尽管用冒号表达式和 linspace() 函数都能生成线性等分向量,但在使用时需要注意:
logspace() 函数的通用格式为:
A=logspace(a,b,n)    % 在 10 的幂 10^a 和 10^b 之间生成 n 个点
A=logspace(n,pi,n)   % 在 10^a 和 pi 之间生成 n 个点

【实例 4】利用 logspace() 函数生成向量。在命令行窗口中输入以下语句,并查看输出结果。
>> A=logspace(0,2,5) % 生成一个对数均匀分布的行向量A,范围为10^0到10^2,共5个元素
A =
     1.0000    3.1623   10.0000   31.6228  100.0000
注意,实际应用时,同时限定尾元素 an 和步长 step 去生成向量,有时可能会出现矛盾,此时必须做出取舍。要么坚持步长优先,调整尾元素限制;要么坚持尾元素限制,去修改步长。

相关文章