在 MATLAB 中将数组转换为列向量


在 MATLAB 中,数组是一种用于将元素存储在连续内存块中的数据结构。列向量是元素的一维数组。在列向量中,元素按列排列。

同样重要的是要注意,MATLAB 默认以列方式存储数组,这意味着数组的元素作为列向量存储在内存中。

在本文中,我们将探讨使用 MATLAB 编程将数组转换为列向量的不同方法

方法 (1):使用转置函数

我们可以使用“转置”函数将数组转换为列向量,该函数是 MATLAB 的内置函数。

以下 MATLAB 程序演示了如何使用“转置”函数将数组转换为列向量。

示例

% MATLAB code for converting an array into a column vector using transpose function
% Define an array
a = [10, 20, 30, 40, 50, 60, 70];
% Turn the array into a column vector
c = transpose(a);
% Display the column vector
disp('Column vector is: ');
disp(c);

输出

Column vector is: 
    10
    20
    30
    40
    50
    60
    70

解释

在这个 MATLAB 程序中,我们演示了如何使用“转置”函数将一维数组转换为列向量。

在此代码中,我们首先创建一个包含 7 个元素的一维数组。接下来,我们使用“转置”函数将其转换为列向量。最后,我们使用“disp”函数显示结果。

关于“转置”函数需要注意的重要一点是,它只能将一维数组转换为列向量。

方法 (2):使用转置运算符

我们还可以使用转置运算符“’”将数组转换为列向量。与转置函数类似,转置运算符也用于将一维数组转换为列向量。

以下 MATLAB 程序演示了如何使用转置运算符将数组转换为列向量。

示例

% MATLAB code for converting an array into a column vector using transpose operator
% Define an array
a = [10, 20, 30, 40, 50, 60, 70];
% Turn the array into a column vector
c = a.';
% Display the column vector
disp('Column vector is: ');
disp(c);

输出

Column vector is: 
    10
    20
    30
    40
    50
    60
    70

解释

此 MATLAB 代码的执行与 MATLAB 程序 (1) 类似。唯一的区别在于,在此代码中,我们使用了转置运算符“’”而不是转置函数。

方法 (3):使用冒号运算符

MATLAB 还允许我们使用冒号运算符“:”将数组转换为列向量。关于冒号运算符需要注意的重要一点是,它可以将多维数组转换为列向量,而转置运算符无法做到这一点。

以下两个 MATLAB 程序分别演示了如何使用冒号运算符将一维数组和二维数组转换为列向量。

示例

% MATLAB code for converting an array into a column vector using colon operator
% Define a one-dimensional array
a = [10, 20, 30, 40, 50, 60, 70];
% Turn the array into a column vector
c = a(:);
% Display the column vector
disp('Column vector is: ');
disp(c);

输出

Column vector is: 
    10
    20
    30
    40
    50
    60
    70

解释

在此 MATLAB 代码中,我们使用了冒号运算符“:”将一维数组转换为列向量。上述代码中的表达式“c = a(:);”将数组“a”转换为列向量并将结果存储在变量“c”中。

示例

% MATLAB code for converting an array into a column vector using colon operator
% Define a two-dimensional array
a = [10 20 30; 40 50 60; 70 80 90];
% Turn the array into a column vector
c = a(:);
% Display the column vector
disp('Column vector is: ');
disp(c);

输出

Column vector is: 
    10
    40
    70
    20
    50
    80
    30
    60
    90

解释

此 MATLAB 代码使用冒号运算符“:”将二维数组转换为列向量。

方法 (4):使用重塑函数

我们还可以使用“reshape()”函数将数组转换为列向量,该函数是 MATLAB 的内置函数。与冒号运算符类似,reshape 函数也可用于将多维数组转换为列向量。

以下 MATLAB 程序分别演示了如何使用“reshape”函数将一维数组和二维数组转换为列向量。

示例

% MATLAB code for converting an array into a column vector using the reshape function
% Define a one-dimensional array
a = [10 20 30 40 50 60 70];
% Determine the number of elements in the array
n = numel(a);
% Turn the array into a column vector
c = reshape(a, n, 1);
% Display the column vector
disp('Column vector is: ');
disp(c);

输出

Column vector is: 
    10
    20
    30
    40
    50
    60
    70

解释

在此 MATLAB 代码中,我们首先创建一个一维数组并将其存储在变量“a”中。然后,我们使用“numel”函数获取数组中的元素数量并将结果存储在变量“n”中。

接下来,我们使用“reshape”函数将数组转换为列向量。最后,我们使用“disp”函数显示生成的列向量“c”。

示例

% MATLAB code for converting an array into a column vector using reshape function
% Define a two-dimensional array
a = [10 20 30; 40 50 60; 70 80 90];
% Determine the number of elements in the array
n = numel(a);
% Turn the array into a column vector
c = reshape(a, n, 1);
% Display the column vector
disp('Column vector is: ');
disp(c);

输出

Column vector is: 
    10
    40
    70
    20
    50
    80
    30
    60
    90

解释

此 MATLAB 代码演示了如何使用“reshape”函数将二维数组转换为列向量。此代码的执行与 MATLAB 程序 (5) 相同。

结论

因此,这就是关于将数组转换为列向量的所有内容。MATLAB 提供了各种运算符和内置函数来将数组转换为列向量。我们在本文的上述部分借助 MATLAB 程序介绍了所有这些方法。

更新于: 2023 年 8 月 8 日

1K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告