simulink中调用Matlab随机数函数产生相同数字问题
前言:
在simulink中调用Matlab随机数函数 randi 时,每次仿真生成的随机数相同。
问题解决:
在仿真时 randi 函数总是产生相同的种子(它用0种子初始化)。这导致每次仿真产生的输出是相同的。解决方法是在随机数生成之前添加此行代码(这会产生基于系统时钟生成不同的随机种子),这适用于rand,randn,randi函数。
coder.cinclude('"time.h"')
sd=0;
sd=coder.ceval('time',[]);
rng(sd);