我們在學習和使用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 ...