MATLAB 函数高级应用与实践
1. 函数调用间数据的保存
在函数执行完毕后,为该函数创建的特殊工作区会被销毁,函数内所有局部变量的内容也会随之消失。下次调用该函数时,会创建一个新的工作区,所有局部变量将恢复为默认值。不过,有时需要在函数调用之间保留函数内的一些局部信息。
MATLAB 提供了一种特殊机制,允许在函数调用之间保留局部变量,即使用持久内存(Persistent Memory)。持久内存是一种特殊类型的内存,只能在函数内部访问,并且在函数调用之间保持不变。可以使用 persistent 语句声明持久变量,其形式如下:
persistent var1 var2 var3 ...
其中, var1 、 var2 、 var3 等是要放入持久内存的变量。
1.1 运行平均值示例
有时需要在输入数据值时实时计算数据集的运行统计信息。虽然 MATLAB 的内置函数 mean 和 std 可以完成此功能,但每次输入新数据值后,都需要将整个数据集传递给它们进行重新计算。编写一个特殊函数来跟踪调用之间的适当运行总和,只需最新值即可计算当前平均值和标准差,这样能获得更好的结果。
1.1.1 问题陈述
创建一个函数,用于在输入新值时计算数据集的运行平均值和标准差。该函数还应包含一个功能,以便在需要时重置运行总和。
超级会员免费看
订阅专栏 解锁全文
2184

被折叠的 条评论
为什么被折叠?



