【发布时间】:2013-03-12 23:06:34
【问题描述】:
在 matlab 中是否有解决此特定问题的有效方法。
我正在尝试映射此矩阵或可能的数组 BeansRice(见下文)
Beans={0:1,0:1,0:2,0:2,0:2,0:2,0:1,0:1,0:2,0:2}
[a b c d e f g h i j ] = ndgrid(Beans{:})
BeansRice = [a(:) b(:) c(:) d(:) e(:) f(:) g(:) h(:) i(:) j(:)]
到矩阵/数组 BR(见下文)
BR=[abc, de, fg, hij];
如果列 a、b 和 c 的值都为 0(关联偏好),则我偏好 c>b>a。如果所有列 a、b 和 c 的值均为 1(无偏好),则 BR(1)=1。如果 a 和 b 列的值为 0,c 列的值为 2,则 BR(1)=2。如果 a 和 b 列的值为 1,c 列的值为 2,则 BR(1)=1。
我有一个带索引的 if 函数,但我在想是否可以改进它,使用矩阵中值的等级/顺序来打破平局。寻找更高效的流程,因为这只是一个大问题的一部分。
【问题讨论】:
标签: matlab matrix indexing mapping large-data