From: Paul on 4 May 2010 11:00 Hi, I have a simulink model. The solver is ode45 (Dormand-Prince) and the type: Variable Step. My model design a simple feedback system: an input block -> conditioning stage (input signals + output error signal) -> computing the error block -> output. Here comes the problem: I built another block (using only components from conditioning stage) and connect the input signals to it. This new block has no outputs and everything else in unchanged. The feedback/loop was not opened or changed. I ran it again and: THE OUTPUT IS COMPLETELY DIFFERENT. I know that adding some new components could influence a little bit the solver and the results but not in this way: the output signal is now 10x bigger as before!!!!!! If I disconnect the inputs from the new block, or set them to [0] the output is ok. Connecting the new block generates no Warning or Error. Did somebody else have the same problem?? This is not my first simulation in simulink, I had much more complicated models but this is the first time when I see something like this. Any hints or ideas are welcomed. Thanks, Paul
From: Guy Rouleau on 4 May 2010 19:04 "Paul " <paul_tutzu(a)yahoo.com> wrote in message <hrpcq7$aht$1(a)fred.mathworks.com>... > Hi, > > I have a simulink model. The solver is ode45 (Dormand-Prince) and the type: Variable Step. > > My model design a simple feedback system: an input block -> conditioning stage (input signals + output error signal) -> computing the error block -> output. > > Here comes the problem: > I built another block (using only components from conditioning stage) and connect the input signals to it. This new block has no outputs and everything else in unchanged. The feedback/loop was not opened or changed. I ran it again and: THE OUTPUT IS COMPLETELY DIFFERENT. I know that adding some new components could influence a little bit the solver and the results but not in this way: the output signal is now 10x bigger as before!!!!!! > > If I disconnect the inputs from the new block, or set them to [0] the output is ok. > > Connecting the new block generates no Warning or Error. > > Did somebody else have the same problem?? This is not my first simulation in simulink, I had much more complicated models but this is the first time when I see something like this. > > Any hints or ideas are welcomed. > > Thanks, > Paul Hi, Adding blocks into a simulation with variable step solver can change the time steps taken by Simulink. If you log the simulation time from the config parameters, can you confirm that the time vector is different? If you use blocks with continuous states (integrator or transfer function for example), Simulink can use these blocks to determine the appropriate time step to take. Other blocks don't influence the time steps taken by the solver, but their result is function of the solver time steps, for example the Memory block. In my opinion, the best way to look at that is to log the Solver Profile Info as described in: http://www.mathworks.com/support/tech-notes/1800/1806.html This will help you figure out which block causes the solver to reset. If you can't explain the behaviour, I recommend contacting tech support. With your model it should be possible to explain what happens. HTH, Guy
|
Pages: 1 Prev: active x - formatting excel cells from Matlab Next: Simulink freezes up during Simulation |