matlab动态数组、队列、堆栈、容器
一直以为matlab中没有动态数组,或者类似C++的vector容器的数据结构。其实不然,matlab的数组就是一个动态数组,它可以当作vector,或者队列等数据结构使用。array = 1:10;array =12345678910array(1) = [];array =...
·
一直以为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 10
上面的例子可以看出,只要令数组的某一个元素为[],就相当于删除了数组中该元素。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
更多推荐
已为社区贡献1条内容
所有评论(0)