假设您有一个长时间运行的函数: [out1,out2,out3,...] = longRunning(arg1,arg2,arg3,...)并且此功能正在使用相同的输入运行多次。如果您将其更改为: [out1,out2,out3,...] = cacheFunction(@longRunning,arg1,arg2,arg3,...)那么只有第一个实例会运行很长时间,进一步的调用将从全局变量“functionCache”中获取。这仅在输入更改时重新计算结果。感谢Christopher Wipf提供了大部分代码。