Azzera filtri
Azzera filtri

Why is their an offset when I intergrate a simple sin(1*x) in simulink using the (1/s) block?

7 visualizzazioni (ultimi 30 giorni)
Their seems to be a -1 offset when I intergrate a sin(x) signal using a 1/s block. the sin(x) goes from -1 to 1 and the resulting intergation goes from 0 to 2? Is their a paramater i'm missing?

Risposte (1)

Ryan G
Ryan G il 10 Set 2013
You need to set the initial condition of the integrator. I believe I cover this a bit in the intro to simulink webinar. This should help you ramp up if you're just getting started.
  2 Commenti
Rick
Rick il 10 Set 2013
I dont think this is the problem. The integral of sin(x) is -cos(x) as for the intial condition at t=0, sin(0)=0. In the 1/s block i set the itial condtion to be internal =0 and the result is still a cos(x) going from 0 to 2. My set up is simple I have a sin(x) going into a 1/s bock and I plot the two vs each other.
Ryan G
Ryan G il 11 Set 2013
You're thinking of the solution analytically instead of numerically. The integral block only receives a value. It doesn't know if the value came from a sin , cos or a constant.
For example: At time t= 0 that value is into the integrator 0, time t=0.1 that value is sin(0.1)=0.0998 and the previous state (t=0) is 0. It will then integrate between those inputs using deltaT=0.1 with an IC of 0.
The time step changes dynamically based on the ODE45 (solver) algorithm tolerances.

Accedi per commentare.

Categorie

Scopri di più su Simulink in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by