How can I increase a count in the while iterator block?

I am trying to run a whilte iterator block for the convergence of a variable, but this variable is not decreasing at all.
The goal is to reach at Display3 a value higher than 7.94 (Psep) and Display1 to show a value lesser than 31.
Could you help with this matter?
Thanks in advance.

14 Comments

hello
1/ I assume that this part
2 / Psep seems to be a constant = 7.94, so I don't see how it could evolve ...
3/ there is nothing that increments (counter) in your code . The while iterator block output should eventually be used to drive a counter which output then must be fed at the same firts add block (neg input) . I would also recommend to convert the while block output from logicl to numerical if you use it afterwards to do numerical operations
all the best
The output of the comparison to zero is being fed into the Add block where it is being subtracted. At best that would result in subtracting 1 each iteration; at worst it would result in subtracting 0 each iteration.
Hi, thanks for your time to analyse this problem.
1- You are right, it is inside a While iterator subsystem
2- You are right, Psep is a constant but it is only a value for comparison, the real thing is that I need that Fcn P be greater than Psep.
It comes from a larger system in which I already know for certain that Fcn P is lower than Psep. (the display block after the while iterator block is not the answer I am looking form).
That is why, inside the while iterator system, I am looking for lowering In1 by 1 each time the while iterator is running in order to have a Fcn P greater than Psep.
3- Again you are right. I am not really certain in the use of the while iterator block in order to control what I am planning to do. Could you tell me how I am supposed to do that? or give me a reference or example that I can use as a guide to do the job.
Thanks again.
Carlos
Carlos on 20 Feb 2026 at 16:51
Moved: Walter Roberson on 20 Feb 2026 at 19:48
Hi, I appreciate your time to analyse this problem.
You are right. it comes from a larger system and I already know for certain that Fcn P is lower than Psep and I am looking for lowering In1 by 1 each time the iterator is running in order to have a Fcn P greater than Psep. When Fcn P becomes greater than Psep, I expect to finish the cycle.
hello
can you share a working / simplified simulink file ?
I'll try to fix the problem
hi.
Thanks very much for your interest in this matter.
I have been working based on an example and have adapted it to the problem itself.
I send the answer I have come across.
Thanks again.
I think the link is broken
can you double check ?
Carlos
Carlos on 4 Mar 2026 at 16:47
Moved: Mathieu NOE on 4 Mar 2026 at 17:18
Hello again.
Sorry for the delay.
I was trying the hyperlink and the attachment icons, but they are not running as I expected.
I insert this diagram to ilustrate the flow.
The Fxn WHP2 block have this in it:
33.85269581 - 1.47824232 * u + 0.02529957 * u * u - 0.00014113 * u * u * u
After that, it runs well when I tried only one value from % Apert block. With more values, it doesn't run well.
I am looking for to use an algebraic constraint block afterwards outside this block for convergence, but if this block does not work for various data points, I get stuck.
If you could advise about this, I really appreciate.
is the simulink file to big to be attached with the paper clip button ?
The antivirus is probably blocking the attachment function.
I will try later.
can you save it in Simulink Version 25.1 (matlab R2025a) please ?
R2025a version of the file enclosed.
Note: you could have opened the file in MATLAB Online and saved it there.
Thanks very much for your suggestions.

Sign in to comment.

Answers (0)

Categories

Products

Release

R2025b

Asked:

on 20 Feb 2026 at 3:07

Commented:

about 13 hours ago

Community Treasure Hunt

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

Start Hunting!