Clear Filters
Clear Filters

How Do I Change a Block Parameter Based on the Output of Another Block?

2 views (last 30 days)
Hi, i have two transfer functions as shown in the attached picture. transfer function 1 has an equation (tms+1)/(Kms+1) transfer function 2 has an equation Km/(tms^2 + s) whenever the parameters Km and tm in transfer function 2 changes i want the the parameters Km and tm in transfer function 1 also to change at the same time with the same values accordingly. So may you please help me how to do it. Your reply be very appreciated.

Accepted Answer

ES
ES on 16 Mar 2017
Use values from workspace. For example, create variables in workspace tms=1, kms=5. use these variables instead of the direct values in the transfer function blocks.
Simulate till you need.
change values of tms and kms in workspace (say tms =1.5, kms = 3). do a
set_param(model, 'SimulationCommand', 'update')% to update model with values from workspace.
Continue simulation
  1 Comment
Abdull walii
Abdull walii on 17 Mar 2017
@Warrior Thank you for your reply, yeah that way its working, but is there any way so that I can change the values of these variables using a simulink block (such as changing the values inside the transfer function block in the simulink) instead of changing in the workspace ?

Sign in to comment.

More Answers (0)

Categories

Find more on Event Functions in Help Center and File Exchange

Tags

No tags entered yet.

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!