MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?

目录

1 在MATLAB中初始化二维矩阵

在MATLAB中初始化一个二维矩阵是很容易的,我们既可以直接把矩阵的元素值写出,比如下面这样:

A = [1 2 3 4;...

     5 6 7 8;...

     9 10 11 12];

MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
也可以直接用函数ones()、zeros()、rand()等函数初始化一个全1或全0或均匀随机分布等的矩阵,然后再对其中的元素进行访问赋值,比如下面这样:
B = zeros(3,4);
B(1,1)=1;
B(1,2)=2;
B(1,3)=3;
B(1,4)=4;

MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
从上面的示例中我们可以看出,第一个索引代表行,第二个索引代表列。

2 在MATLAB中初始化三维矩阵

我们先试一下可不可以直接用元素值初始化一个三维矩阵。
假设我们要初始化一个两通道、三行、四列的三维矩阵,看下下面这个代码行不行。

C=[[11 12 13 14;15 16 17 18;19 20 21 22];...

   [23 24 25 26;27 28 29 30;31 32 33 34]];

运行结果如下:

MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
可见,没有得到我们想要的三维矩阵,这样的写法得到的是两个矩阵合并后的结果。

通常,我们初始化一个三维矩阵,都是用ones()、zeros()等这些函数进行。
比如我们刚才想要得到的两通道、三行、四列的三维矩阵可以像下面这样初始化。

D = zeros(3,4,2);

运行结果如下图所示:

MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
从上面的运行结果可以看出,在MATLAB中,矩阵的维度顺序是:第一个索引为行索引,第二个索引为列索引,第三个索引为通道索引(也称为页索引)。
在Python中,用OpenCV的函数imread()读取的图像数据的维度顺序与其ndarray的常规矩阵的维度顺序是不一样的,详情见:https://blog.csdn.net/wenhao_ir/article/details/124422709
所以这里我们测试下MATLAB的图像处理函数imread()读取到的图像数据的维度顺序是不是第一个索引为行索引,第二个索引为列索引,第三个索引为通道索引。
测试代码如下:
img1 = imread('F:\material\images\P0022-view-06.jpg');

运行结果如下:

MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
从这个运行结果中可以看出,MATLAB的图像处理函数imread()读取到的图像数据的维度顺序与其常规矩阵的维度顺序是一致的,都是”第一个索引为行索引,第二个索引为列索引,第三个索引为通道索引(也称为页索引)”

3 在MATLAB中初始化四维矩阵

这个与三维的方法一样,就是用ones()、zeros()等函数进行,比如下面的语句可创建四维矩阵。

F = zeros(2,3,4,5);

运行结果如下:

MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
从上面的运行结果我们可以看出,维度顺序为:第一个索引代表行,第二个索引代表列,第三个索引代表第三维度,第四个索引代表第四维度。
我们进行赋值操作看是不是这样:
F = zeros(2,3,4,5);
F(1,1,4,5)=5;

运行结果如下:

MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?
可见,这个维度索引顺序就是如我们上面所述的,第一个索引代表行,第二个索引代表列,第三个索引代表第三维度,第四个索引代表第四维度。

4 在MATLAB中初始化N维矩阵

都会初始化三维矩阵和四维矩阵了,还不会初始化N维矩阵么?

Original: https://blog.csdn.net/wenhao_ir/article/details/124944608
Author: 昊虹AI笔记
Title: MATLAB中怎样初始化(创建)二维、三维、四维以及多维矩阵,各维度的索引顺序是怎样的?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/633475/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球