محاسبه سری فوریه - MATLAB

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
سری فوریه، روشی در ریاضیات می‌باشد که به وسیله آن، هر تابع متناوبی به صورت جمعی از توابع سینوس و کسینوس می‌تواند نوشته شود. نام این قضیه به اسم ریاضیدان فرانسوی، ژوزف فوریه ثبت شده است. هدف از این کار، نمایش توابع در دامنه فرکانس می‌باشد.سری فوریه به شکل‌های گوناگون قابل تعریف است، برای راحتی کار فرم ساده زیر را در بازه‌ی 0< t < 1 را در نظر بگیرید

image002.gif

و ضرایب سری فوریه را می توان به این صورت تعریف کرد
image004.gif
اگر در این قسمت مشکلی دارید به کتابهای ریاضی مهندسی مراجعه کنید.
فرض کنید
برای محاسبه‌ی سری فوریه تنها باید ضرایب آن را حساب کرد، برای محاسبه هرکدام از ضرایب یابدهرکدام از انتگرال‌های فوق را حساب کنیم. برای نمونه من مقدار a[SUB]n[/SUB] را حساب می کنم
کد:
[COLOR=#333333][FONT=Tahoma]functiony = anfunc(t)[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]y = 2*sin(2*pi*t).*sin(2*n*pi*t);[/FONT][/COLOR]
همانطور می دانید هرکدام از این ضرایب یک دنباله از اعدادهستند و با توجه به مقدار n مقدار آنها تغییر می کند. برای محاسبه‌ی تغییرات anfuncبا n از تابع تودرتو (nested function) استفاده می‌کنیم.
کد:
[COLOR=#333333][FONT=Tahoma]functionmyfunc[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]forn = 1:10[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]an(n) = quad(@anfunc,0,1);[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]end[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]an[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]function y = anfunc(t)[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]y = 2*sin(2*pi*t).*sin(2*n*pi*t);[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]end[/FONT][/COLOR]
[COLOR=#333333][FONT=Tahoma]end[/FONT][/COLOR]
در ادامه کافی است که ابتدا دیگر ضرایب را حساب کردهو سپس مقدار سری را از جمع کردن آنها محاسبه کنیم.
 

Similar threads

بالا