How to iterate in simulink?
8 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have the following problem, I want to iterate two variables in Simulink. In normal code it would look like this:
X(i+1)=X(i)+4*(X(i)-Y(i));
Y(i+1)=Y(i)+2*(X(i)-Y(i));
I used For Iterate Block but it doesn't work. I'm getting an error:
"Trouble solving algebraic loop containing 'untitled/For Iterator Subsystem1' at time 0. Stopping simulation. There may be a singularity in the solution. If the model is correct, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)."
Here's what i have done in Simulink


0 件のコメント
採用された回答
Azzi Abdelmalek
2013 年 11 月 10 日
編集済み: Azzi Abdelmalek
2013 年 11 月 10 日
% x(i+1)=x(i)+4*(x(i)-y(i));
% can be written as
% x(i+1)-5x(i)=-4y(i)
% z X(z)-5X(z)=-4Y(z)
% H(z)=-4/(z-5)
To get the result you can use a discrete transfer function with
numerator=-4
denominator=[1 -5]
% input signal=y
% output signal x
3 件のコメント
Azzi Abdelmalek
2013 年 11 月 11 日
編集済み: Azzi Abdelmalek
2013 年 11 月 11 日

set initial values of your unit delay block to 400 and 100
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で General Applications についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!