how to maintain continuity and periodicity of a function

I have a parameter (piece wise constant over each season of the year). I used 'pchip' to interpolate this function:

 function y  =  mu(t)
         xl = [0 23.3125 46.625 69.9375 114.5625 137.875 161.1875 205.8125 229.125 252.8125 297.0625 320.375 343.6875 365 ];
         yl = [500 500 500 500 1500 1500 1500 500 500 500 0 0 0 0 ];
           y = pchip(xl,yl,t);
end

I used mod to make it periodic with a period of 365 days:

M = mu(mod(tspan,365));

But i get a discontinuous and non-periodic function while going from t=364 to t=365. How can i make this function continuous and periodic? I didn't know how to attach a jpg file to my question, otherwise i would have attached a picture showing the function $mu$. Any kind of help will be appreciated.

回答 (1 件)

Iain
Iain 2013 年 6 月 25 日

0 投票

Try ensuring that your fit wraps around - ie, that you give it x = 366 and y = the value it has when x = 0.

2 件のコメント

Rose
Rose 2013 年 6 月 25 日
Hi, thanks for the reply. Can you please elaborate more?
Iain
Iain 2013 年 6 月 25 日
I am saying that if you expand your curve to "look like" it continues on both ends, then your fit will be much more likely to be periodic.

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

カテゴリ

質問済み:

2013 年 6 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by