Represent Simulink Integrator block as Matlab Function
이전 댓글 표시
Hi.
I need to implement the following behavior :

The Integrator and my_Integrator blocks have to be equivalent I/O.
How should I write the Matlab Function ?
Thanks for any reply.
채택된 답변
추가 답변 (4개)
Azzi Abdelmalek
2012년 12월 7일
편집: Azzi Abdelmalek
2012년 12월 8일
2 개 추천
I don't know why do you need this, maybe if you explain exactly what you need, there is better way
댓글 수: 9
River Rock
2012년 12월 8일
Azzi Abdelmalek
2012년 12월 8일
편집: Azzi Abdelmalek
2012년 12월 8일
You can't do it
River Rock
2012년 12월 8일
Azzi Abdelmalek
2012년 12월 8일
What about time t?
Azzi Abdelmalek
2012년 12월 8일
Can you post the solution?
Azzi Abdelmalek
2012년 12월 8일
편집: Azzi Abdelmalek
2012년 12월 8일
It works with Ryan's hint, but you still need a clock as an input.
River Rock
2012년 12월 8일
편집: River Rock
2012년 12월 8일
Azzi Abdelmalek
2012년 12월 8일
편집: Azzi Abdelmalek
2012년 12월 8일
Ok, I see, If T is constant, you must then set, in model configuration parameters your fixed step time to T, and also your step block sample time to T. In this case you don't need a clock.
function y = fcn(u)
persistent uold yold
T=0.01;
if isempty(uold)
uold=0;yold=0;
end
y = u*T+yold-(u-uold)*T/2
yold=y;uold=u;
River Rock
2012년 12월 8일
Guy Rouleau
2012년 12월 5일
0 개 추천
This is not a good idea. The MATLAB function is not designed for this purpose.
댓글 수: 1
Edward Rodriguez
2020년 8월 10일
Excuse me, so, What would be a good idea to implement numerical integration methods in blocks in Simulink?
River Rock
2012년 12월 5일
편집: River Rock
2012년 12월 6일
0 개 추천
댓글 수: 4
Ryan G
2012년 12월 5일
Why do you need to use MATLAB over SL blocks? Look into the persistent variables, it will get the job done, although as Guy mentioned, it's not the best way to do it.
River Rock
2012년 12월 5일
Ryan G
2012년 12월 5일
What you have written is close it would be more like:
y(z) = yOld+u(z)/SampleTime
You cannot use the ODE solver in the MATLAB function block.
River Rock
2012년 12월 7일
River Rock
2012년 12월 5일
0 개 추천
댓글 수: 1
Kiran Mahmood
2018년 10월 21일
I'm working on a similar problem. Did u find the solution ? Need help.
카테고리
도움말 센터 및 File Exchange에서 Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!