我不知道我怎樣字這個問題,但會盡我所能:
我有兩個向量,A
和B
。
我想用B
的每個單獨的值減去A
中的所有值。
例如,將A
中的所有值都減去B
的第一個值。然後將所有A
的值減去B的第二個值,以此類推。
得到的矩陣應該是length(A) x length(B)
和看起來像這樣:
Ans = [A - B(1); A - B(2); A - B(3); ....... ]
是否有這樣做沒有環的方法嗎?
我不知道我怎樣字這個問題,但會盡我所能:
我有兩個向量,A
和B
。
我想用B
的每個單獨的值減去A
中的所有值。
例如,將A
中的所有值都減去B
的第一個值。然後將所有A
的值減去B的第二個值,以此類推。
得到的矩陣應該是length(A) x length(B)
和看起來像這樣:
Ans = [A - B(1); A - B(2); A - B(3); ....... ]
是否有這樣做沒有環的方法嗎?
a=[2 3 4]; %first take two vector a and b of any size
b=[5 6 5 7];
m=size(a); % Then Calculate the size of the vectors
n=size(b);
r1=a'*ones(n); % replicate the vector a and b one can use **repmat** here for replication
r2=ones(m)'*b; % like **repmat(a',n) & repmat(b,m(end),1)**
Result=r1-r2
Result =
-3 -4 -3 -5
-2 -3 -2 -4
-1 -2 -1 -3
鏈接的副本從A'''減去A'。從'A'減去'B'應該很容易理解。 – Jonas
昨天我回答了*確切地說*對同一個問題付出了努力。 [這裏](http://stackoverflow.com/a/13422675/1714661)。 – Acorbe