【发布时间】:2014-08-13 08:28:43
【问题描述】:
我需要解决一个最小距离问题,看看一些正在尝试的工作看看:
链接:click here
我有四个元素:两个列向量:昏暗的alpha (px1) 和昏暗的beta (qx1)。在这种情况下,p = q = 50 给出两个暗淡(50x1) 的列向量。它们的定义如下:
alpha = alpha = 0:0.05:2;
beta = beta = 0:0.05:2;
我有两个矩阵:L1 和 L2。
L1 由三个维度为(kx1) 的列向量组成。
L2 由三个维度为(mx1) 的列向量组成。
在这种情况下,它们具有相同的大小,这意味着 k = m = 1000 分别给出:L1 和 L2 和暗淡的 (1000x3)。这些矩阵的值是预定义的。
不过,它们具有以下结构:
L1(kx3) = [t1(kx1) t2(kx1) t3(kx1)];
L2(mx3) = [t1(mx1) t2(mx1) t3(mx1)];
最小。我需要解决的距离问题(数学上)如下:
d = min( (x-(alpha_p*t1_k - beta_q*t1_m)).^2 + (y-(alpha_p*t2_k - beta_q*t2_m)).^2 +
(z-(alpha_p*t3_k - beta_q*t3_m)).^2 )
x,y,z 的值是三个固定常数。
我的问题
我需要开发一个迭代,它可以从alpha, beta, L1 和L2 的组合 中返回索引位置,从而解决上面的最小距离问题。
我希望问题的表述清楚,我对索引符号非常小心。但如果还不是很清楚……步长为:
alpha 是 p = 1,...50
beta 是 q = 1,...50
为L1; t1, t2, t3 是 k = 1,...,1000
为L2; t1, t2, t3 是 m = 1,...,1000
我需要找到index of p、index of q、index of k 和index of m,这给了我最小的。到x,y,z点的距离。
提前感谢您的帮助!
【问题讨论】:
-
你知道在
SO之外是否有办法做到这一点?t1,t2,t3是(1000x3),在这里发布太多了......或者它可能不会? -
external to the OP是什么意思? -
我的意思是 StackOverflow,我已经修复了我的最后一条评论 :)
-
codereview.stackexchange.com可能是一个地方,但那里的流量并不多。 -
我不明白的地方: 1.) 使用
t1_k和t1_m是否正确?因为遵循您上面的定义,这些值将始终相同(t2_m and t3_m相同)。我猜你的意思是有 2 个不同的数组,它们对应于相同类型的数据,但不是完全相同的数据。 2.) 您确定您想要以下索引:p,q,k,m?因此,您想比较50x50x1000x1000?至少在你的问题中听起来是这样的。
标签: matlab min matrix-multiplication