我解釋我想是用一個例子最簡單的方法:如何獲得另一個數組的「補充」?
a = 1:20
b = [2,7,12,18]
現在我想c
是[1,3,4,5,6,8,...,19,20]
,長度16
:length(a) - length(b)
當然。
有沒有辦法讓我得到c
?
我解釋我想是用一個例子最簡單的方法:如何獲得另一個數組的「補充」?
a = 1:20
b = [2,7,12,18]
現在我想c
是[1,3,4,5,6,8,...,19,20]
,長度16
:length(a) - length(b)
當然。
有沒有辦法讓我得到c
?
你想要什麼叫在大多數語言差集刪除數組元素。在MATLAB中,您可以使用setdiff
函數:
a=1:20;
>> b=[2,7,12,18];
>> setdiff(a,b);
ans =
Columns 1 through 11
1 3 4 5 6 8 9 10 11 13 14
Columns 12 through 16
15 16 17 19 20
可以使用x(3)=[]
c=a;
c(b)=[];
適用於這種簡單情況。但對於一般情況(其中'b'包含要從'a'而不是索引中移除的元素),請使用'setdiff',就像在另一個答案中一樣。 –
功能對於複雜的情況非常有用,thx將在未來使用時留意。 –
補碼和集合差異是同義詞。 (至少適用於套) – Daniel
@Daniel:確實。仍然有必要提一下,大多數編程語言稱它爲*區別*,以避免混淆。 –