programming error jamming in simulink

I have two constants K1 and K2 I need them to be different because i have breaking point
function [e,Pm,Ip] = new(In,Vn)
persistent Ipold K1 ; if isempty(Ipold) Ipold=2; %initialized only once in the beginning end if isempty(K1) K1=2; %initialized only once in the beginning end
K1=5; K2=.19; Pn= Vn*In Pm=100*In e= Pn-Pm if e<0 Ip = Ipold+K2 *e else Ip = Ipold+K1 *e end
gave error message Trouble solving algebraic loop containing 'che/Guess' at time 0. Stopping simulation. There may be a singularity in the solution. If the model is correct, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
I can't understand what is the objection ?

4 个评论

TAB
TAB 2012-12-6
编辑:TAB 2012-12-6
Please format your code properly. I is not possible to understand your code.
Your code is working for me without any error.
mado
mado 2012-12-6
编辑:mado 2012-12-6
how is my code working and you don't have simulink file that code should be applied on? the error message results of algebraic constraint in simulink
TAB
TAB 2012-12-6
编辑:TAB 2012-12-6
I pasted your code in matlab function block in simulink (which is the only place where we can run a m-code you like posted here) and it was working.
Please....explain your case in detail. See HOW TO ASK QUESTIONS AND GET A FAST ANSWER.

请先登录,再进行评论。

回答(1 个)

mado
mado 2012-12-6
I have function made by simulink that gave me curve Pn is a point on that curve , I used In as current that draw a straight line with slope 100 Pm is a point on that line , so this line and the curve converges at a point which give e = pn- pm i need to know why this error message appear when i have different k , K1 and K2

类别

帮助中心File Exchange 中查找有关 Multicore Processor Targets 的更多信息

标签

提问:

2012-12-6

Community Treasure Hunt

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

Start Hunting!

Translated by