【发布时间】:2013-02-26 02:10:54
【问题描述】:
我有如下矩阵; 从计算来看,在图中绘制时会有一些彼此具有相同值的值(我使用散点图), 这里的问题是如何知道/识别哪个计算给出了匹配的数据,并且可以将它存储在表中。我试过在matlab中使用find函数,但出现错误。
A = [2/3 -1/3 -1/3;
-1/3 2/3 -1/3;
-1/3 -1/3 2/3];
B=[0 0 0;
0 0 1;
0 1 0;
0 1 1;
1 0 0;
1 0 1;
1 1 0;
1 1 1];
d= [2/3 -1/3 -1/3];
q = [0 0.5773 -0.5773];
for i = 1:size(B,1)
p1 = A * B(1,:)' -A * B(i,:)';
dtransformation0a(i) = d*p1;
qtransformation0a(i) = q*p1;
p2 = A * B(2,:)' -A * B(i,:)'
dtransformation0b(i) = d*p2;
qtransformation0b(i) = q*p2;
p3 = A * B(3,:)' -A * B(i,:)';
dtransformation0c(i) = d*p3;
qtransformation0c(i) = q*p3;
p4 = A * B(4,:)' -A * B(i,:)';
dtransformation0d(i) = d*p4;
qtransformation0d(i) = q*p4;
p5 = A * B(5,:)' -A * B(i,:)';
dtransformation0e(i) = d*p5;
qtransformation0e(i) = q*p5;
p6 = A * B(6,:)' -A * B(i,:)';
dtransformation0f(i) = d*p6;
qtransformation0f(i) = q*p6;
end
figure
scatter(dtransformation0a,qtransformation0a,100,'b.')
hold on
scatter(dtransformation0b,qtransformation0b,100,'b.')
hold on
【问题讨论】:
-
这里的“冗余”不清楚是什么意思。
-
@OliCharlesworth 表示当 matlab 相乘并绘制图形时,至少有 3 次乘法给出相同的 x 轴和 y 轴值。所以我的兴趣是找出产生那个的乘法。
-
@RoneyMichael 你能帮我解决这个问题吗?你之前给我的解决方案。不能工作
-
@dan:除非我已经在线程中处于活动状态,否则我不会收到通知。我只是偶然看到这个。我去看看。
-
@dan:我需要澄清一点:说
(dtransformation0a, qtransformation0a)是点集PA,(dtransformation0b, qtransformation0b)是点集PB。现在我观察到PA和PB内部分别存在冗余以及两者之间的冗余。例如,点(0,0)在PA中出现两次,在PB中出现一次。现在,您的意思是它应该只在PA中出现一次并且在PB中保持不变?
标签: matlab matrix matching scatter