آموزش متلب (MATLAB)

محاسبه ضرایب سری فوریه یک تابع متناوب در متلب :

با استفاده از ضرایب سری فوریه یک تابع متناوب، می توانیم آن تابع را بر حسب مجموعه ای از توابع پایه تقریب بزنیم. فرض کنید تابع f(x) دارای دوره تناوب باشد. در این صورت این تابع را می توانیم بر حسب ضرایبی از sin و cos به دست آوریم. این ضرایب به صورت زیر محاسبه می شوند :

\[ a_n={1 \over \pi}\int_{-\pi}^{\pi} f(x)cos(nx)\,dx, ~~~~~ n \geq 0 \] \[ b_n={1 \over \pi}\int_{-\pi}^{\pi} f(x)sin(nx)\,dx, ~~~~~ n \geq 1 \]

نکته مهم این است که برای به دست آوردن ضرایب سری فوریه، تابع f(x) حتما باید در بازه دوره تناوب خود، انتگرال پذیر باشد.

تابع f(x) را نیز به وسیله این ضرایب می توانیم به صورت زیر تقریب بزنیم :

\[ (S_Nf)(x)={a_0 \over 2} + {\sum_{n=1}^N [a_ncos(nx)+b_nsin(nx)],} ~~~~~ N \geq 0 \]

حال می خواهیم با متلب برنامه ای بنویسیم که ضرایب سری فوریه تابعی دلخواه را برای ما به دست آورده و همچنین مقدار تقریب زده شده این تابع به وسیله این ضرایب سری فوریه را در یک x مشخص حساب کند. فرض می کنیم تابع به صورت f(x)=sin(x) باشد و کدهای زیر را می نویسیم :


clear all
clc
syms x
f=sin(x);
N=10;
a_0=(1/pi)*int(f*cos(0*x),-pi,pi)
for n=1:N
    a_n(n)=(1/pi)*int(f*cos(n*x),-pi,pi);
    b_n(n)=(1/pi)*int(f*sin(n*x),-pi,pi);
end
a_n
b_n
 
f_new=a_0/2;
for n=1:N
    f_new=f_new+a_n(n)*cos(n*x)+b_n(n)*sin(n*x);
end
 
subs(f_new,x,5)
subs(f,x,5)

تابع f_new که بر حسب ضرایب سری فوریه به دست می آید، تقریبی از تابع f می باشد. دستور subs(f_new,x,5) ، در تابع f_new ، مقدار x=5 را جایگذاری می کند. همچنین در خط بعدی، مقدار subs(f,x,5) را محاسبه کرده ایم تا بتوانیم مقدار تقریبی f_new(5) را با مقدار f(5) مقایسه کنیم.

نتیجه :


a_0 =
 
0
 
 
a_n =
 
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
 
b_n =
 
[ (5734161139222659*pi)/18014398509481984, 0, 0, 0, 0, 0, 0, 0, 0, 0]
 
 
ans =
 
   -0.9589
 
 
ans =
 
   -0.9589

مشاهده می کنید که دو مقدار، دقیقا با هم برابر شده اند.



مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ورود ثبت نام
جستجو در عنوان کلیدها (مبحث ها) در کلیدستان
(توصیه : یک یا دو کلمه جستجو شود)



راهنمای دستورات متلب بر اساس حرف اول دستور :


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


مثال های کدنویسی متلب (MATLAB)

27 مبحث