Matlab陣列A中刪除陣列B的元素

2021-10-25 11:38:36 字數 1098 閱讀 9121

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中有 中的方法...