piecewise continuous function in SImulink

9 ビュー (過去 30 日間)
Mikhail Fedkin
Mikhail Fedkin 2020 年 11 月 7 日
コメント済み: Ameer Hamza 2020 年 11 月 7 日
Hello!
I made a piecewise functions in Simulink:
function y = fcn(t)
y = piecewise(t < -1,-1, -1<t<1,0, t > 1,1);
pretty simple, but I got problem with output value of function.
"Simulink cannot determine sizes and/or types of the outputs for block "
How to deal with this problem?

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 11 月 7 日
piecewise is from symbolic toolbox. It will not work in Simulink. Use if-else block
function y = fcn(t)
if t < -1
y = -1;
elseif t < 1
y = 0;
else
y = 1;
end
  2 件のコメント
Mikhail Fedkin
Mikhail Fedkin 2020 年 11 月 7 日
this was my original function, but this one neither didn't work
function y = sign_with_deadzone (t,delay)
if(t > delay)
if(t > 0)
y = 1;
end
if(t < 0)
y = -1;
end
else
y = 0;
end
anyway thank you)
Ameer Hamza
Ameer Hamza 2020 年 11 月 7 日
Is 't' the simulation time? If yes, then it will never be negative and t < 0 will never become true.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeEvent Functions についてさらに検索

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by