查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 快速数组作为参数传递给MATLAB

我有一个矩阵I ,我想在阵列中积累A ,对于每个值在I相应地,间隔为这些值在I让调用它们i和j 。

function acc(i,j) global A A(i:j) = A(i:j)+1; end 但是,传递和返回数组会花费太多时间,因为我多次执行该函数,并且它不像该示例那样简单。

有什么办法可以加快速度吗?如何在没有全局值的情况下传递那些值?



回答:

注释中的链接建议使用嵌套函数作为解决方案。如果您使用的功能已在多个不同的地方使用,则您可能不想在每个地方嵌套。在这种情况下,我将尝试对函数进行适当的修改。

http://blogs.mathworks.com/loren/200...tions-on-data/

function A = acc(A,i,j) A(i:j) = A(i:j)+1; end 如果您符合Loren博客文章中规定的要求,则无需进行复制。



更多&回答...
poster 当前离线   回复时引用此帖