MATLAB Answers

How to vary Gain in Simulink dependent on input's amplitude and phase during runtime ?

3 ビュー (過去 30 日間)
Harsh Kumar
Harsh Kumar 2021 年 7 月 22 日
コメント済み: Harsh Kumar 2021 年 8 月 2 日
The Gain block and continuous block in Simulink require the user to specify a gain. This can be a workspace variable. But I want to vary this gain during runtime. I can't seem to get a solution for this. This idea is simple but I can't believe it is so difficult to implement.
I have tried using another block to write to workspace, but found out that the 'to workspace' block only writes to the workspace after the simulation ends or pauses.
I can store the variable in a data memory block, but I don't know how to specify the gain value(s) for the gain/PID block in this case.
  2 件のコメント
Harsh Kumar
Harsh Kumar 2021 年 7 月 29 日
Let's suppose my gain is 'fun' which depends upon the amplitude(x)of the input signal.
fun = @(x) (cos(x)).^2/(1+2*cos(x)).^3;
And also I've stored the amplitude in a data storage in workspace.
How can I implement this in a Gain block in simulink?

サインインしてコメントする。

回答 (1 件)

Fangjun Jiang
Fangjun Jiang 2021 年 7 月 29 日
Use the Product block. The Gain block is an operation of multiplication, right?
  1 件のコメント
Harsh Kumar
Harsh Kumar 2021 年 8 月 2 日
Yes thanks... I'll try it out.

サインインしてコメントする。

タグ

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by