【发布时间】:2014-04-22 15:45:59
【问题描述】:
假设我有矩阵:
mat= [1 2 3;
2 3 4;
3 4 5;]
test = [2 3 4 5 6 7;
3 4 5 6 7 8;
7 8 9 4 5 6 ]
我想做的就是做这些操作:
mat1=[(1-2) (2-3) (3-4);
(2-3) (3-4) (4-5);
(3-7) (4-8) (5-9)]
和
mat2=[(1-5) (2-6) (3-7);
(2-6) (3-7) (4-8);
(3-4) (4-5) (5-6)]
并保存mat1 和mat2 之间的最小值,然后保存值的索引。
我想要这样的答案:
ans = [-4 -4 -4;
-4 -4 -4;
-4 -4 -4]
index = [2 2 2;
2 2 2;
1 1 1]
我不需要保存mat1 和mat2,我只需要ans 和index(以使计算更快)。有什么帮助如何编码吗?谢谢。
【问题讨论】:
-
我知道矩阵
ans来自哪里,但我很困惑你如何计算index。第一步,您可以通过执行[mat mat] - test计算mat1和mat2,然后将结果分成两半。 -
index 保存最小值的来源路径,即给出最小值的矩阵,mat1还是mat2。
标签: matlab matrix indexing min