matlab中,刪除陣列a中陣列b的元素。
思路1為:使用ismember函式判斷b是否為a中元素,返回值為0/1邏輯值l,取a(~l)即為剔除b中的結果。
思路2為:使用setdiff函式,返回在a中有,而b中沒有的值,結果向量將以公升序排序返回。
clc;
clear;
a =[1,
2,3,
4,5,
6,7,
0,8,
9];b =[2
,5,9
,11,23
];isb =
ismember
(a, b)
;c =a(
~isb)
;
結果如下:
a =12
3456
7089
b =259
1123
c =134
6708
此時,陣列c中的結果時按照a中的序列進行排列。
clc;
clear;
a =[1,
2,3,
4,5,
6,7,
0,8,
9];b =[2
,5,9
,11,23
];[d, ia]
=setdiff
(a, b)
;e =a(
sort
(ia)
);
結果如下:
a =12
3456
7089
b =259
1123
d =013
4678
ia =81
3467
9e =13
4670
8
可以看到, d中的結果時按照公升序的順序進行排列。如果需要按照a中的序列進行排列的話,只需記錄下每個元素的位置即可:**[d, ia] = setdiff(a, b)
中的ia
記錄的是每個元素的原始位置,再返回到a中提取即可得到按照a中順序排列的e。 php中刪除陣列元素
users array 1 張三 2 李四 3 王五 print r users echo unset users 2 print r users echo student array 1 mike 2 tom 3 jerry 4 lucy 5 lili array splice student,3...
VB程式設計 陣列中刪除陣列元素 27
執行效果 程式 dim a private sub form load redim preserve a 1 to 5 for i 1 to 5 a i i next i for i 1 to 5 text1.text text1.text a i a i next i for i 2 to 4 a...
如何刪除陣列中的元素
php中的陣列要新增元素非常簡單,直接用賦值就行了,陣列的key會自動增加,但是要刪除陣列中的元素呢?你想過嗎?是不是很少遇到?我近日在處理乙個購物籃程式時遇到了要刪除陣列中元素的問題,尋找了半天,終於找到了刪除陣列的方法,其實很簡單.開始我參照一篇文章 字串陣列,刪除陣列元素 oso中有 中的方法...