matlab动态数组、队列、堆栈、容器
⼀直以为matlab中没有动态数组,或者类似C++的vector容器的数据结构。其实不然,matlab的数组就是⼀个动态数组,它可以当作vector,或者队列等数据结构使⽤。
array = 1:10;
array =
1    2    3    4    5    6    7    8    9    10
array(1) = [];
array =
2    3    4    5    6    7    8    9    10
array(end) = [];
array =
2    3    4    5    6    7    8    9
array(end+1) = 10;
array =
2    3    4    5    6    7    8    9    10matlab数组赋值
上⾯的例⼦可以看出,只要令数组的某⼀个元素为[],就相当于删除了数组中该元素。array(1) = [] 这条语句,就类似于队列的pop()操作,array(end) = [] 相当于堆栈的pop()操作,⽽array(end+1)  = 10 就相当于push()操作。
2. 数组的⼀些操作技巧
2.1 在数组中到某个特定元素的索引
a = [1 2 3 3 4 5];
i = find(a==3)
i =
2    3
2.2 数组切⽚
a = [1 2 3 4 5 6];
a(2:4)
ans =
2    3    4
a(a>3)
ans =
4    5    6
⼆维数组切⽚
mat =
11    12    13    14    21    22    23    24    31    32    33    34    41    42    43    44
>> mat(2:3, 1:2)
ans =
21    22
31    32
>> mat(mat(:,1)>30, :) ans =
31    32    33    34    41    42    43    44

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。