Storing the clock time into a vector in simulink
이전 댓글 표시
Hi,
I wanted to know how can I use embedded matlab block in simulink to store the clock time into a vector?
I am using time clock as the input to embedded matlab block and trying to store that in a vector variable which is the output of embedded matlab block? Is this a right way to do, if not how else can I do it?
It would be of great help, if you could suggest or advise me on how to do it.
Thanks!!
댓글 수: 3
Kaustubha Govind
2011년 9월 26일
Do you mean that you'd like to concatenate the clock time with other signal values into a vector? Try the Vector Concatenate block.
Fangjun Jiang
2011년 9월 26일
What is your goal? There might be alternatives other than using the embedded matlab function block.
Muthappa
2011년 9월 26일
답변 (1개)
Fangjun Jiang
2011년 9월 26일
1 개 추천
For this task, I recommend not to use the Embedded MATLAB Function block. As you can see, if your simulation just started for a short period of time, you won't be able to run trapz(t(50:150),v(50:150)) because the 150th data point is not available yet. The Embedded MATLAB Function block in the Simulink model will typically run at every time step.
You can use the "To Workspace" block to log the data. Using the 'Structure with Time" save format will log the time and value at once. Once the simulation is done and the data is logged, you can post-process the data using trapz().
댓글 수: 3
Muthappa
2011년 9월 26일
Fangjun Jiang
2011년 9월 26일
For that, maybe you can play with the persistent declaration of the variable. doc persistent
I am still thinking this approach is awkward. Can't you put an Integrator block inside a triggered subsystem and trig the subsystem at t=150 seconds.
Muthappa
2011년 9월 27일
카테고리
도움말 센터 및 File Exchange에서 Programmatic Model Editing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!