matlab怎么在表里查表,优化-如何在MATLAB中使用查找表

我需要对一组2D数组(如果需要,可以使用3D矩阵)执行两个参数(一组:t,另一组来自数组)的指数运算.

????f(t,x)= exp(t-x)

然后,我需要在第三维中添加每个值的结果.因为使用bsxfun花费太多时间来执行整个操作,所以我想使用查找表.

我可以将表创建为矩阵LUT(由于两个参数而为二维),然后可以使用LUT(par1,par2)检索值.但是使用循环在三维空间上访问也很昂贵.

我的问题是:是否有一种方法可以实现这种机制(查找表)以具有预定义的值,然后仅使用它们从矩阵元素进行访问(有点索引)而没有循环.或者,如何创建MATLAB自动处理的查找表以加快指数运算?

编辑:

我实际上使用了类似的方法来创建LUT.现在,我的问题实际上是如何有效地访问它.

让我们说我有一个二维数组M.对于这些值,我想将函数f(t,M(i,j))应用于固定值t.我可以使用循环遍历M的所有值(i,j).但是我想要一种更快的方法,因为我有一组M,然后需要将此过程应用于所有其他值.

我的函数比我给出的示例要复杂一些:

pr = mean(exp(-bsxfun(@rdivide,bsxfun(@minus,color_vals,double(I)).^2,m)./2),3);

那是我的实际功能,如您所见,它比我所举的示例还要复杂.但是想法是一样的.它在两个数组之差的指数的M的集合的第三维中进行平均.

希望能有所帮助.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值