我有一個n + 1列矩陣。 我想要一個函數mySearch(idx1,idx2 ...,idxn),它返回第n個元素等於idx1的行中的第n + 1列... idxn如何通過matlab中的多個索引查找項目
下一步,我想mySearch通過一些簡單的插值返回最接近索引的值。
有沒有簡單的方法來做到這一點?
感謝
我有一個n + 1列矩陣。 我想要一個函數mySearch(idx1,idx2 ...,idxn),它返回第n個元素等於idx1的行中的第n + 1列... idxn如何通過matlab中的多個索引查找項目
下一步,我想mySearch通過一些簡單的插值返回最接近索引的值。
有沒有簡單的方法來做到這一點?
感謝
使用norm
以確定距離和min
得到最接近的值:
function v=mySearch(idx, M)
n=length(idx);
d=[]
for row = M'
d=[d; norm(row(1:n)-idx) ]
end
[~, I]=min(d);
v = M(I,n+1);
end function
以上idx
是[idx1, idx2, ..., idxn]
向量。
使用功能find
- http://www.mathworks.com/help/matlab/ref/find.html
例
[rol,col]=find(matrix(idx1==SOMETHING))
這給你你想要的點的矩陣位置。這樣一來,你也可以找到接近他們的位置的位置,這取決於你的標準