the given transfer function is an improper transfer function

71 ビュー (過去 30 日間)
jose luis guillan suarez
jose luis guillan suarez 2018 年 6 月 21 日
コメント済み: Walter Roberson 2022 年 9 月 21 日
i want to implement this transfer function in simulink: 0.05252s (it has only numerator) and i get this error: "the given transfer function is an improper transfer function. The order of the transfer function numerator mus be less than or equal to the order of the denominator" how can i implement this transfer function in simulink? (in matlab is possible, it is a pd regulator)

回答 (4 件)

jose luis guillan suarez
jose luis guillan suarez 2018 年 6 月 27 日
編集済み: jose luis guillan suarez 2018 年 6 月 27 日
finally i solved it adding a pole very far from the zero, like this:
0.05252s/(1+0.005252s)
whose output is exactly the same as the original system
  1 件のコメント
Vishal Chandrahaas V
Vishal Chandrahaas V 2020 年 4 月 2 日
編集済み: Vishal Chandrahaas V 2020 年 4 月 2 日
Nice Idea...
But, it's saying the following, and not working out for me.
Simulink cannot solve the algebraic loop containing 'Motor_trial/Gain' at time 5.0000000000000018 using the TrustRegion-based algorithm due to one of the following reasons: the model is ill-defined i.e., the system equations do not have a solution; or the nonlinear equation solver failed to converge due to numerical issues.

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


Elio Sánchez G.
Elio Sánchez G. 2019 年 6 月 30 日
You can use a gain block and a derivative block
  1 件のコメント
Vishal Chandrahaas V
Vishal Chandrahaas V 2020 年 4 月 2 日
Do you mean this block??
Because there's an integrator block which has "1/s" on it, so I was expecting derivative block to has "s" or something like that....

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


Walter Roberson
Walter Roberson 2018 年 6 月 23 日
Instead of implementing it as a transfer function, implement it as a gain block.
  4 件のコメント
jose luis guillan suarez
jose luis guillan suarez 2018 年 6 月 25 日
the tf2ss function sends me the same error as simulink:
Error using tf2ss (line 57) Order of denominator must be greater than or equal to order of numerator.
Walter Roberson
Walter Roberson 2018 年 6 月 26 日
I think I used tf() and then genss() to get the matrices.

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


Nahid
Nahid 2022 年 9 月 21 日
編集済み: Walter Roberson 2022 年 9 月 21 日
how can i Solved?
  1 件のコメント
Walter Roberson
Walter Roberson 2022 年 9 月 21 日
What is there to be solved? You have to create a model using transfer function blocks. It does not look to me as if you are expected to be able to "tune" the model or adjust the parameters at run-time. You would create a variable or parameter named that should contain the last two digits of your student ID, and use that in the model, but it is not something you need to adjust. This is just a straight forward case of creating the model.
You do need to figure out what each kind of block is. The ovals with the +- around them are summation blocks. I am not positive what the K block is, possibly a gain . Most of the other blocks are transfer function blocks.

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

カテゴリ

Help Center および File ExchangeClassical Control Design についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by