matlab求向量a中不包含向量b元素的集合

2021-08-28 11:06:33 字數 670 閱讀 6950

我們在學習和使用matlab時,如要實現某一功能,一定要先查查matlab系統本身有沒有實現這一功能的函式,如有的話,可能一條語句就解決問題。如以下兩組向量:

a=[1 2 3 4 5 6 7 8 9 10]

b=[3 5 6]

求向量a中不包含向量b中元素的集合,如不使用matlab系統功能函式,可能需通過以下一段程式**才能實現這一功能。

a=[1 2 3 4 5 6 7 8 9 10];

b=[3 5 6];

c=;inx=1;

for i=1:length(a)

bfind=false;

for j=1:length(b)

if(a(i)==b(j))

bfind=true;

break;

endend

if (bfind==false)

c(inx)=a(i);

inx=inx+1;

endenddisp(c)

但如果我們使用matlab本身的功能函式,只需以下一條語句即可。

c=setdiff(a,b)
所以我們在使用matlab時,一定要有整體觀念,因為matlab的功能函式普遍都是對向量、陣列、矩陣等變數進行整體操作的。

matlab 求矩陣最大特徵值對應的特徵向量

a 1,1,2,3,4 1,1,1,2,3 1 2,1,1,1,2 1 3,1 2,1,1,1 1 4,1 3,1 2,1,1 待求矩陣 x,y eig a 求矩陣的特徵值和特徵向量,x為特徵向量矩陣,y為特徵值矩陣。eigenvalue diag y 求對角線向量 lamda max eigenv...

Matlab中,稀疏矩陣特徵值與特徵向量求解問題

矩陣有兩種表示方法 1 普通矩陣形式 a full 2 座標與數值對的形式 a sparse。對第一種矩陣形式,可用 v,d eig a full 其中v是特徵向量矩陣,d是特徵值矩陣。對第二種矩陣形式,可用 d eigs a sprase,k 其中,d為矩陣a的前k個最大特徵值 預設為6 但是,這...

matlab查詢兩個向量中不同的元素

設有向量a和b,要求出a和b中的不同元素,可使用matlab自帶的setdiff函式。語法為 c setdiff a,b 其計算公式為c a b。需要注意的是此函式只能求出向量a中與b不同的元素,b中與a不同的元素則要通過setdiff b,a 求出。例如 設a 9 71 b 024 65 執行c ...