How do I get random numbers from a Simulink Coder executable?
显示 更早的评论
I have a simple Simulink model that consists of a Random Number block and a To File block that writes the random number to a file. I compile this using Simulink Coder and get an executable. Every time I run the executable I get the same number. I would like to find a way to make it so that every time I run the executable I get a different number.
There was a similar problem asked here which was apparently solved, though the solution was not given. I assume that the seed is being fixed during the compilation, but I can't figure out how to change that.
If anyone has a solution I would appreciate your help. David
采纳的回答
更多回答(1 个)
Azzi Abdelmalek
2013-2-14
编辑:Azzi Abdelmalek
2013-2-14
You create a mat file fic_seed.mat
seedv=1:300
save fic_seed seedv
In model properties-callbacks-Init Fcn write this code
v=load('fic')
v=v.v;
val=v(1);
v(1)=[];
save fic v
set_param('yoursimulinkmodelname/Random Number','seed',num2str(val))
Random Number is the name of your random block, Check if it's the same name in your simulink model.
1 个评论
Kaustubha Govind
2013-2-14
Azzi: Since David wants to do this in the generated code, the InitFcn callback won't help unfortunately, since it is only called within the Simulink environment.
类别
在 帮助中心 和 File Exchange 中查找有关 Event Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!