0
我想知道是否有一個函數可以給我所有的輸入矢量的相互作用。matlab中的交互(統計)
例如:
如果我有三個向量a,b,c。他們的價值觀是:
a = [1,9,3]
b = [4,3,2]
c = [6,5,7]
然後我就可以得到一個矩陣:
[a.*b, a.*c, b.*c ]
我想知道是否有一個函數可以給我所有的輸入矢量的相互作用。matlab中的交互(統計)
例如:
如果我有三個向量a,b,c。他們的價值觀是:
a = [1,9,3]
b = [4,3,2]
c = [6,5,7]
然後我就可以得到一個矩陣:
[a.*b, a.*c, b.*c ]
所需的計算不具有一個內置的功能,但你總是可以寫你自己:
%% Define the vectors
a = [1,9,3];
b = [4,3,2];
c = [6,5,7];
%% test function
pairWiseAppend(a,b,c)
%% Define the function
function customVector = pairWiseAppend(a,b,c)
%multiply and generate new vectors
vec1 = a.*b;
vec2 = a.*c;
vec3 = b.*c;
%append the vectors
customVector = [vec1,vec2,vec3];
end
輸出:
>> stckOvrflow1
ans =
4 27 6 6 45 21 24 15 14
此外,您可以隨時修改,以滿足您的需求的功能,例如,這將返回一個二維數組:
%% Define the vectors
a = [1,9,3];
b = [4,3,2];
c = [6,5,7];
%% test function
customArray = pairWiseAppend(a,b,c)
%% Some extra actions on returned array
%% Define the function
function customArray = pairWiseAppend(a,b,c)
%multiply and generate new vectors
vec1 = a.*b;
vec2 = a.*c;
vec3 = b.*c;
%append the vectors
customArray = [vec1;vec2;vec3];
end
輸出:
>> stckOvrflow1
customArray =
4 27 6
6 45 21
24 15 14
希望它能幫助。
謝謝,但我需要它是可變的IV(自變量)的數量,因爲它容易做3 IV,但對於6? – user1681664
「* c」是什麼意思? – PseudoAj
@PseudoAj它是MATLAB的語法。 'b。* c'表示將矢量'b'和'c'按元素方式相乘以生成一個新的矢量。 – rayryeng
@raryeng謝謝。 – PseudoAj