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

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?

回答 (1 件)

Ryan G
Ryan G 2013 年 9 月 10 日

0 投票

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 件のコメント

Rick
Rick 2013 年 9 月 10 日
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 2013 年 9 月 11 日
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.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeGeneral Applications についてさらに検索

製品

タグ

質問済み:

2013 年 9 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by