![]() |
Matlab中的快速关联数组或地图
我需要在Matlab中的两个大型整数数组之间建立[I]快速[/I] [B]的一对一映射[/B] 。映射应将预定义数组中的元素作为输入,例如:
in_range = [-200 2 56 45 ... ]; 并将其通过先前数组中的索引映射到另一个预定义数组中的相应元素,例如: out_range = [-10000 0 97 600 ... ]; 例如,在上述情况下, my_map(-200)应该输出-10000 ,而my_map(45)应该输出600 。 我需要一个解决方案 [LIST=1][*]可以相对有效地映射非常大的数组(〜100K元素)。[*]使用in_range和out_range的边界(即它们的min和max )很好地缩放[/LIST]到目前为止,我已经使用Matlab的Java外部接口与[B]Java的HashMaps[/B]解决了这个问题,但是我想知道是否有Matlab的替代方案。 谢谢! [B]回答:[/B] Matlab的最新版本具有[URL="http://www.mathworks.com/help/techdoc/matlab_prog/brqqo5e-1.html"]哈希值[/URL] 。我正在使用2007b,但它们不可用,因此每当需要哈希时都使用[URL="http://www.mathworks.com/help/techdoc/ref/struct.html"]结构[/URL] 。只需使用[URL="http://www.mathworks.com/help/techdoc/ref/genvarname.html"]genvarname[/URL]将整数转换为有效的字段名称[URL="http://www.mathworks.com/help/techdoc/ref/genvarname.html"]即可[/URL] 。 [url=https://stackoverflow.com/questions/4754181]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 23:23。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.