טור פוריה נומרי בעזרת מטלב

Posted on April 13, 2010

0


לטור פוריה שימושים רבים בעולם הממשי. בין השאר ניתן להשתמש בטור פוריה לעיבוד אותות, חישובי רוחב פס, חישובי קרינה ועוד.

אני אמנע מלהסביר את החלק המתמטי של הרעיון ואצא מתוך נקודת הנחה שאנחנו מכירים את הטור והרעיון המתמטי העומד מאחוריו. אני יותר אתמקד באיך לכתוב טור פוריה נומרי (לא בדיד) על ידי שימוש במטלב.

הגדרת הפונקציה

נגדיר את הפונקציה הכללית שתקבל מאיתנו את הערכים הדרושים לשם החישוב המדוייק. נחליט אם כן שיקבעו מספר פרמטרים לפונקציה שהם:

function co = Fseries(fx,N,T)

כאן אנחנו מגדירים את הפונקציה כאשר היא תקבל fx – פונקציה לשם עיבוד, N – מספר הנקודות לריצה, T – מרחב האינטגרל לכל סיבוב (תור).

לולאת הערכים לכל סיבוב (N) או חישוב An ו Bn בנקודה n

ניצור לולאה אשר תדאג לחשב בכל סיבוב את האינטגרל באזור שקבענו מקודם (t שלנו):

for n = 1:N
an(n) = quad(@Fa,-T,T)/T
bn(n) = quad(@Fb,-T,T)/T
end

אבל מה זה Fa ו Fb? נראה בהמשך.

חישוב Ao

a0 = quad(fx,-T,T)/T

איבר זה מחושב מיידית ללא שום שימוש בלולאה (ע”פ הנוסחא המקורית).

הצגת התוצאות

co.a0 = a0;
co.an = an;
co.bn = bn;

כעת נחזור ל Fa ו Fb

לשם הסדר הטוב נכתוב שתי פונקציות נוספות לשם הסדרת משתנים אלה:

function y = fa(t)
y = fx(t).*sin(n*pi*t/T);
end
function y = fb(t)
y = fx(t).*cos(n*pi*t/T);
end

כאן בעצם ביצענו את ה”הדבקה” של הפונקציה המקורית עם מקדמי הסינוסים והקוסינוסים כהכנה לאינטרגל שאליו הפונקציה מחזירה את הערכים.

סגירת הפונקציה הראשית


על ידי end כמובן.

כמה נקודות אחרונות

את הפונקציה המתמטית בה תטפל התוכנית שכתבנו נכניס על ידי הפקודה:

X=@(x)[your function here]

אני מתייחס כאן ל x כאל המשתנה של הפונקציה. לקריאה לתוכנית אותה כתבנו נקיש:

Fseries(X,N,T)

כאשר עלינו לקבוע את ערכי N,T הרצויים.

את הדרך לפתרון הבעיה ליקטטי מרעיונות שונים שפגשתי באתרים שעסקו בעניין. לצערי לא ניהלתי רישום מסודר, על כן תודה לאלמונים השונים.

Posted in: Electronic