MATLAB程式設計(1) 計算兩個向量元素的組合

2021-08-29 21:00:56 字數 789 閱讀 2755

問題描述:

已知兩個向量,現在,分別從兩個向量中各取乙個元素,做組合,如何得到全部組合結果?

例如:已知向量a=[2;8]; b=[5;8;10];,按要求得到的結果應為:

res =

2     5

2     8

2    10

8     5

8     8

8    10

**實現:

a = [ 2; 8 ];

b = [ 5; 8; 10 ];

[ m, n ] = meshgrid( a, b' );

[ res(:,1),res(:,2) ] = deal( reshape(m,,1), reshape(n,,1) );

若要去掉組合結果中兩個元素重複的這種組合,即要得到如下結果:

res =

2     5

2     8

2    10

8     5     

8    10

**實現:

a = [ 2; 8 ];

b = [ 5; 8; 10 ];

[ m, n ] = meshgrid( a, b' );

[ m, n ] = deal( reshape(m,,1), reshape(n,,1) );

k = m==n;

m(k) = ;

n(k) = ;

res(:,1)=m; res(:,2) = n;

以上內容參考**:

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 ...

sklearn計算兩個向量之間的距離

from sklearn.feature extraction.text import countvectorizer from sklearn.metrics.pairwise import euclidean distances from sklearn.feature extraction.t...

如何計算兩個空間向量之間的轉角

在三維空間當中,經常涉及到計算兩個向量之間的角度問題,而且這個角度是特定的方向角度 也就是說,圍繞他們的公共法向量旋轉的角度 假定這兩個向量是a和b 我們知道 c a b是乙個向量,方向是按照右手座標系生成的,垂直於ab所在平面的向量,c向量的模是 c a b sincita 同時,我們知道,向量a...