Why do I recieve the error the model referenced by it contains a block that updates persistent or state variables while computing outputs and is not supported in an algebraic

103 次查看(过去 30 天)
Hello Everyone.
I want to generate the C code of ISReferrence ,which is the example of Vehicle Dynamic Blockset. But I recieve the error
'ISReferenceApplication/Driver Commands/Driver Commands/Longitudinal Driver/Longitudinal Driver/Longitudinal Driver/Shift/Scheduled/Shift Controller' or the model referenced by it contains a block that updates persistent or state variables while computing outputs and is not supported in an algebraic loop. It is in an algebraic loop with the following blocks.
My Type is Fixed-step,ODE4, Solver is ODE4.
What should I do to generate C/C++ code?

回答(1 个)

Deepak Chaware
Deepak Chaware 2022-11-16
You could work around this error by introducing a delay to the outputs of the Stateflow chart with the "memory" block. The memory block outputs the input from the previous time set. This single-step delay breaks the algebraic loop, and eliminates the source of the error.

类别

Help CenterFile Exchange 中查找有关 Sources 的更多信息

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by