2014-05-14 32 views
0

我目前正在matlab中設計一種重建3D數據的方法。爲此,我有兩張帶黑點的圖片。每幀點數量的差異是重建的關鍵,但是當矩陣不相等時,MATLAB會給出一個錯誤。這是因爲代碼沒有做我想做的事,所以任何人都可以用下面的方式來幫我嗎?在MATLAB中計算每個XI和XII的值y:

我有擴展數據的兩列:XLIXRI

MATLAB什麼呢,當我做XLI-XRI是從其減去了對即XLI(1)-XRI(1)等,但我想的。減去的XLI每個值的XRI每個值。即

XLI(1)-XRI(1,2,3,4 etc) 
XLI(2)-XRI(1 2 3 4 etc) 

誰能幫助?

回答

2

我認爲你正在尋找一種方法來從彼此中扣除所有組合。這裏是你如何能做到的例子,與bsxfun

xLI = [1 2 3] 
xRI = [1 2] 
bsxfun(@minus,xLI ,xRI') 
+0

你可能想轉一個O f確保這些代碼運行的向量...至少在更新版本的MATLAB中。 – rayryeng

+0

@rayryeng沒有機會進行測試,但我會接受你的話。已經更新了答案。 –

0

我不能丹尼斯的職位(這個網站上沒有足夠的點)發表評論:他的解決辦法應該工作,但根據您的MATLAB的版本,你可能會得到「使用==> bsxfun錯誤」,需要調換兩種XLI或XRI爲實現這一工作:

bsxfun(@minus,xLI' ,xRI) 

最佳,

特普