Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

How I can generate a continuous signal using a solver with fixed step size?

Asked by Fabrizio on 27 Apr 2013

Hello people! In my simulation I must use a fixed step size (0.01 s) with the solver ode4 (Runge-Kutta). The input to my model is a constant block. I want that this block run each 0.2 second (I know how to do this) and I want a signal longer than the fixed step size..I mean I want a signal of the duration of 0.3 s, a continuous signal 0.3 s long. Is it possible? Thank you veru much, Fabrizio

2 Comments

Ryan G on 1 May 2013

Why don't you increase the fixed step size? What you're looking for may depend very much on your model and setup. Do you know what continuous vs discrete means here? If your not processing signals faster than 0.01 seconds than you may not need to run any faster. Again, this really depends on your model.

Another option is a for-iterator subsystem.

Fabrizio on 1 Jun 2013

Thank you Ryan for your answer and excuse me for the delay of this comment! Anyway I solved the problem in this way: I used an atomic subsystem linked with a rate transition block! in this way I can keep the step of the simulation at 0.01 s (it's a must) and inside the asub everithiing run at 0.2s! then the rate transition put the out of asub inside the main(because in that environment I have to manage the output)!

Fabrizio

Products

1 Answer

Answer by Babak on 1 May 2013

You need to let your tmax be 0.4 and solve then discard the data for 0.3<t<0.4

1 Comment

Fabrizio on 1 Jun 2013

Thank you Babak for your answer and excuse me for the delay of this comment! Anyway I solved the problem in this way: I used an atomic subsystem linked with a rate transition block! in this way I can keep the step of the simulation at 0.01 s (it's a must) and inside the asub everithiing run at 0.2s! then the rate transition put the out of asub inside the main(because in that environment I have to manage the output)!

Babak

Contact us