# programming error jamming in simulink

1 view (last 30 days)
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 ?
TAB on 6 Dec 2012
Edited: TAB on 6 Dec 2012
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.

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

### Categories

Find more on General Applications in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by