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!