For Loop Iterator Not working as expected.
4 ビュー (過去 30 日間)
古いコメントを表示
I implemented the simulink model presented at http://www.ece.northwestern.edu/local-apps/matlabhelp/toolbox/simulink/slref/foriterator.html
i was expecting a staricase signal as the output with final value as 20 which will be displayed on the scope connected as shown in screenshot.
and the XY graph should show the same signal ,however i am not getting the expected behaviour for the scope but the xy graph is getting
plotted correctly ,can someone explain what is going wrong and how it should be corrected to get the defined behaviour.
Main Model
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/209385/image.jpeg)
Inside For Iterator Subsystem
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/209386/image.jpeg)
For Iterator System Properties
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/209387/image.jpeg)
XY Graph Properties
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/209388/image.jpeg)
XY Graph After Model Simulation
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/209389/image.jpeg)
Scope Output Inside For Iterator Subsystem
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/209390/image.jpeg)
Scope output In the Main Model
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/209391/image.jpeg)
2 件のコメント
madhan ravi
2019 年 3 月 21 日
編集済み: madhan ravi
2019 年 3 月 21 日
The link attached is not working, please attach your model.
回答 (1 件)
Fangjun Jiang
2019 年 3 月 22 日
You need to understand the difference between simulation steps and iteration steps. It looked like you ran simulation for 20 seconds. To simplify, let's assume your simulation step size is 1 second. When the simulation is run at time=1 second, the "For iterator subsystem" is executed 20 times. It itrated from 1 to 20 times. When the 20 iteration is done, the result is output to the Scope. At time=2 second, all these 20 iteration is done again and so is for t=3,4,5,... seconds.
So the Scope in the main modle always show 20. The scope inside the "For iterator subsystem" is also mostly 20 but it also shows the iterator goes back to 1.
XY Graph is different. It just shows the X and Y value pair. Because it is inside the "For Iterator subsystem", it probably shows all the value. But you will get the same graph even if you just ran the simulation for 1 or 2 seconds.
2 件のコメント
Fangjun Jiang
2019 年 3 月 25 日
The value did change from 1 to 20, but the time logged are all the same as far as Simulink is concerned.
On your Scope (both inside and outside the "For Iterator subsystem" block), go to setting or configuration properties, log the data using "structure with time". Run the simulation for just 1 or 2 steps and observe the data.
参考
カテゴリ
Help Center および File Exchange で View and Analyze Simulation Results についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!