تبلیغات
آموزش مطلب - مطالب سری فوریه

محاسبه سری فوریه به صورت عددی

نویسنده :امین باشی
تاریخ:پنجشنبه 7 خرداد 1388-05:09 ب.ظ

قبلا درمورد محاسبه سری فوریه به کمک جعبه ابزار تحلیلی (symbolic) توضیحاتی را داده بودم،امروز نحوه محاسبه سری فوریه به صورت عددی را توضیح می‌دهم.

سری فوریه به شکل‌های گوناگون قابل تعریف است، برای راحتی کار فرم ساده زیر را در بازه‌ی 0< t < 1 را در نظر بگیرید

 

و ضرایب سری فوریه را می توان به این صورت تعریف کرد

 

 

 

 

اگر در این قسمت مشکلی دارید به کتابهای ریاضی مهندسی مراجعه کنید.

فرض کنید

 

برای محاسبه‌ی سری فوریه تنها باید ضرایب آن را حساب کرد، برای محاسبه هرکدام از ضرایب یابدهرکدام از انتگرال‌های فوق را حساب کنیم. برای نمونه من مقدار an را حساب می کنم

functiony = anfunc(t)

y = 2*sin(2*pi*t).*sin(2*n*pi*t);

همانطور می دانید هرکدام از این ضرایب یک دنباله از اعدادهستند و با توجه به مقدار n مقدار آنها تغییر می کند. برای محاسبه‌ی تغییرات anfuncبا n 2 راه وجود دارد (مبحث مربوط به ParameterizingFunctions Called by Function Functions را در راهنمای متلبمطالعه کنید). من از تابع تودرتو (nested function) استفاده می‌کنم.

functionmyfunc

forn = 1:10

an(n) = quad(@anfunc,0,1);

end

an

function y = anfunc(t)

y = 2*sin(2*pi*t).*sin(2*n*pi*t);

   end

end

در ادامهکافی است که ابتدا  دیگر ضرایب را حساب کردهو سپس مقدار سری را از جمع کردن آنها محاسبه کنیم.



نوع مطلب : سری فوریه 

fourier

نویسنده :امین باشی
تاریخ:یکشنبه 29 مرداد 1385-06:08 ق.ظ

سری فوریه (2)

حتما می دانید که سری فوریه هر تابع، تقریبی از آن تابع است.هرچه چملات سری بیشتر باشد مقدار سری به مقدار واقعی تابع نزدیک تر است.

یکی از راه های بدست آوردن سری فوریه یک تابع استفاده از دستور fit است.این دستور توانایی محاسبه سری فوریه با حداکثر 8 جمله را دارد.

x=[-pi:.1:pi]';

y=sin(x);

f=fit(x,y,'fourier1')

به جای fourier1 می توان  fourier2...fourier8 را قرار داد.

توابع زیر هم نیاز معرفی ندارند/

تابع گاما

Y = gamma(A)

تابع خطا

Y = erf(X)



نوع مطلب : سری فوریه 

سری فوریه

نویسنده :امین باشی
تاریخ:پنجشنبه 26 مرداد 1385-11:08 ق.ظ

سری فوریه

فرض کنید تابع f به صورت زیر تعریف شده یاشد.

 

 

تابع f یک تابع تناوبی با دوره 2L می باشد و  ثابتهای بسط فوریه  این تابع از روایط زیر بدست می آیند

 

برای محاسبه این ثوابت از دستور int استفاده می کنیم

R = int(S)
R = int(S,v)
R = int(S,a,b)
R = int(S,v,a,b)

استفاده از این دستور ببسیار ساده است.S عبارتی است که می خواهیم از آن انتگرال بگیریم، v متغیر مستقل است و a,b حدود انتگرال گیری هستند

اولین قدم برای استفاده از این دستور تعریف متغیرهاست

syms w A t n

و بعد از آن محاسبه ثوابت

a0= w/pi*int('A*sin(w*t)','t',0,pi/w)

an=w/pi*int('A*sin(w*t)*cos(n*w*t)','t',0,pi/w)

bn=w/pi*int('A*sin(w*t)*sin(n*w*t)','t',0,pi/w)

قدم بعدی یافتن مقدار ثوابت در n های مختلف است.برای این کار از دستور subs استفاده می کنیم

subs(bn,n,3)

دستور بالا مقدار bn را به ازای n=3 محاسبه می کند

 مقدار an را در n=1  مبهم است  چون صورت و  مخرج an صفر می شود .با استفاده از دستور limit حد این عبارت را در n=1 می توان بدست آورد.

limit(an,n,1,'right')

limit(an,n,1,'left')



نوع مطلب : سری فوریه 





All right reserved©2005 Amin Bashi