How to convert Block parameter to input port?
3 views (last 30 days)
Show older comments
Hi, I have a specific question about Simulink. Is it possible to convert a mask parameter to an input port?
For example, take sine block in Simulink (See the picture).
There is a parameter/field in the block parameters called Amplitude. Is it possible to make this as an input port of that block instead of specifying as a parameter?
0 Comments
Answers (2)
Jesús Zambrano
on 11 Nov 2019
Hi Rahul,
One possible simple solution would be to keep the Sine wave amplitud equal to 1, and then add the following to the block:
and then you create your [t,u] vector with the changes you want for the sine wave amplitud.
Hope this can help to solve your question.
Best,
Jesús
Jesús Zambrano
on 16 Nov 2019
Hi Rahul,
In general you could try to work with a MATLAB funcion block in the following way:
where the MATLAB function has the following code:
function fcn(u)
coder.extrinsic('assignin')
coder.extrinsic('set_param')
assignin('base','MyGain',u)
set_param(bdroot,'SimulationCommand','update')
In summary,an input signal goes to a MATLAB function block, which saves the value in the base workspace with name MyGain, and that parameter is then used in the Gain block.
Hope this workflow can help you.
Best,
Jesús
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!