数组类型与单元数组
MATLAB中的数组类型
在MATLAB中,所有进行运算的数据类型,都是按照数组及矩阵的形式进行存储与运算,两者的不同之处在于:
数组强调元素对元素的运算;矩阵则采用线性代数的规则进行运算。
在MATLAB中,数组的定义是广义的,数组的元素可以是任意的数据类型。
数组的创建方法:
1.直接创建
1 2 3 4 5 6 7 8 9 |
>>array_1 = [1,2,3,4]; >>array_2 = [1 2 3 4]; >>array_3 = [1;2;3;4]; >>whos Name Size Bytes Class Attributes array_1 1x4 32 double array_2 1x4 32 double array_3 4x1 32 double |
注:“,”(逗号)与空格表示着数组的列;“;”分号表示行。
2.使用“:”表示一系列数值,也可用来创建数组
注意m : n与m : k : n的不同。
1 2 3 4 5 6 7 8 9 10 11 |
>> array_4 = 1 : 5 array_4 = 1 2 3 4 5 >> array = 1 : 2 : 10 array = 1 3 5 7 9 |
MATLAB中的单元数组类型
单元数组(cell array)是一种广义矩阵。其每一个组成元素被称为一个单元,每一个单元内包含的可以是任意类型的元素,且每一个单元可以具有不同的尺寸与内存占用空间。
单元数组的创建方法:
1.使用赋值语句
1 2 3 4 5 6 7 8 9 |
>> c_1 = {'x',456778,[789,0]}; >> c_2 = {'x';456778;[789,0]}; >> c_3 = {'x',0;456778,[789,0]}; >> whos Name Size Bytes Class Attributes c_1 1x3 362 cell c_2 3x1 362 cell c_3 2x2 482 cell |
注:单元数组使用花括号‘{}’创建,使用‘,’(逗号)或空格分隔单元,使用‘;‘(分号)进行分行。
2.利用cell函数创建
1 2 3 4 5 |
>> cell_name = cell(3,2); >> whos Name Size Bytes Class Attributes cell_name 3x2 48 cell |
单元数组的访问:
在单元数组中, 单元和单元中的内容是不同的东西,因此,寻访单元和单元中的内容是两个不同的东西。
MATLAB为上述两种操作设计了相对应的操作对象:单元外标识(Cell Indexing)与单元内编址(Content Addressing)。举例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
>> Temp_1 = Cell_1(1,2) Temp_1 = 'str_ooo' >> Temp_2 = Cell_1{1,2} Temp_2 = str_ooo >> class(Temp_1) ans = cell >> class(Temp_2) ans = char |
单元数组的操作:
1.合并
1 |
c = {a, b} |
2.删除指定内容
1 |
Cell{m, n} = [] |
转载请注明:燕骏博客 » MATLAB自学笔记(三):数组
赞赏作者微信赞赏支付宝赞赏