What is the difference between using Data Store Blocks & Delay block to avoid algebraic loop error

조회 수: 1 (최근 30일)
I had created a simple simulink model that results in algebraic loop error.Solved the error by following below two aprroaches
  1. Using delay block
  2. Using Data Store blocks(Data Store Read, Data Store Write & Data Memory block)
I know that delay block uses Newton iterative method to converge & Data store blocks re-route the data.
In what way(s) these two approches affect the performance of the model as a whole?
  댓글 수: 2
Kaustubha Govind
Kaustubha Govind 2013년 7월 12일
When you say "performance", are you asking about how the speed of simulation is affected, or how the blocks change the results of the simulation?
venkat
venkat 2013년 7월 16일
I want to know how the two models are different computationally. Is there such thing where only data store memory blocks alone can solve the algebraic loop error even when we use delay blocks or vice-versa?

댓글을 달려면 로그인하십시오.

채택된 답변

Guy Rouleau
Guy Rouleau 2013년 7월 16일
The performance is the same and both options are computationally equivalent. In my opinion here what should guide your choice is the clarity of the resulting model.
In your case, the goal is to break the algebraic loop by introducing a delay. Consequently I would recommend using a delay block.
I typically use Data Store Memory only in cases where I have some specific constraints the code generated from the model must to respect.
  댓글 수: 3
Guy Rouleau
Guy Rouleau 2013년 7월 18일
Not that I know. If you have an example of that, I would be interested to see.
venkat
venkat 2013년 7월 19일
I don't have any example model right now. Will get you know once i come across anything like that. Thank you.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Kaustubha Govind
Kaustubha Govind 2013년 7월 16일
Are you using the continuous delay block? If so, yes, I believe it uses the Simulink Solver to perform the delay operation. From what I understand, Data Store blocks might maintain a buffer to preserve data integrity - I think the buffer has a side-effect of behaving like one or more discrete delay blocks. This side-effect is probably what is causing the algebraic loop to be resolved, although the better/direct way would be to use the discrete delay block.

카테고리

Help CenterFile Exchange에서 Simulink Functions에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by