我是靠谱客的博主 怕孤独斑马,这篇文章主要介绍MATLAB App Designer 与 m文件 使用相同随机数种子但是产生了不同的随机数项目场景:问题描述原因分析:解决方案:,现在分享给大家,希望可以做个参考。
项目场景:
最优估计课程的大作业要求使用MATLAB App Designer写应用,其中含有生成数据的代码。我采用的方式是首先编写算法m文件,再将其转移成mlapp中的代码。
问题描述
为方便调试固定随机数序列,我使用了相同的种子,即:①
% s = rng(0);
% save 's' 's'
load s
rng(s);
产生随机数代码为:②
V_k = sqrt(R_k)*randn(len_z,1)';
其中R_k是量测噪声方差,len_z是量测序列长度。
在mlapp中,加载种子的代码①位于 startupFcn 函数中,产生随机数的代码②位于 Menu_6Selected 回调函数中。此时,mlapp和m文件中产生的V_k刚好差了一位(类似于循环移位的形式):

原因分析:
原因未知,不知道是bug还是feature。
解决方案:
- 把代码①、②都写到Menu_6Selected 回调函数中。
- 或者,直接在m文件 save V_k 之后,再在mlapp的 startupFcn 函数中 load V_k 噪声序列。
最后
以上就是怕孤独斑马最近收集整理的关于MATLAB App Designer 与 m文件 使用相同随机数种子但是产生了不同的随机数项目场景:问题描述原因分析:解决方案:的全部内容,更多相关MATLAB内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复