How update some variables each time tha I'am calling simulink from Matlab funtion
2 次查看(过去 30 天)
显示 更早的评论
I have a funtion which recibe some variables, in thus funtion I'am calling a simulink block and getting some datas...
The problem is I need this Var1 Var2 in Simulink block ? What can i do ? To use this vars values in my simulink ??
function [Out] = Funtion (Var1, Var2 ....)
simout = sim('Simulinkblock');
Yx = simout.yout{1}.Values.Data;
Cx = Yx(end);
end
0 个评论
回答(2 个)
Paul
2021-8-31
编辑:Paul
2021-8-31
function [Out] = Funtion (Var1, Var2 ....)
in = Simulink.SimulationInput('Simulinkblock')
in = in.setVariable('D',Var1); % to set the value of D. Repeat for others as needed.
simout = sim(in);
% simout = sim('Simulinkblock');
Yx = simout.yout{1}.Values.Data;
Cx = Yx(end);
end
0 个评论
Rishabh Singh
2021-8-30
As per my understanding you want to pass the input to your Simulink Model through as an input to the function.
This issue can be resolved if you have root inport in your Simulink Model by using setExternalInput (Refer to example code for understanding).
Other approach could be loading data from Workspace, for that you can refer to From Workspace or using MAT file to provide input.
Hope this helps.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!