انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در نوشتن برنامه سری فوریه در متلب

مشکل در نوشتن برنامه سری فوریه در متلب

#1
با سلام خدمت دوستان
من در برنامه نویسی متلب تازه واردم و به تازگی میخوام یاد بگیرمش چون پروژه دانشجویی خودم سری فوریه در متلب بود نحوه نوشتنش رو از این سایت یاد گرفتم ولی وقتی اجراش میکنم نتیجه درست از آب در نمیاد.
این برنامه متلب من :
کد:
clear
clc
syms x
f=sin(x);
N=10;
a_0=(1/2*pi)*int(f,-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;
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)

اینم نتیجش :
کد:
a_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


b_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


ans =

0


ans =

sin(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


لطفا راهنماییم کنین که ایراد از کجاست چون من تازه میخوام متلبو یادبگیرم و برام ضروری هم هست.
پاسخ

مشکل در نوشتن برنامه سری فوریه در متلب

#2
(۱۳۹۵/۱۰/۲۷, ۰۴:۳۶ ب.ظ)f4r3in نوشته: با سلام خدمت دوستان
من در برنامه نویسی متلب تازه واردم و به تازگی میخوام یاد بگیرمش چون پروژه دانشجویی خودم سری فوریه در متلب بود نحوه نوشتنش رو از این سایت یاد گرفتم ولی وقتی اجراش میکنم نتیجه درست از آب در نمیاد.
این برنامه متلب من :
کد:
clear
clc
syms x
f=sin(x);
N=10;
a_0=(1/2*pi)*int(f,-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;
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)

اینم نتیجش :
کد:
a_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


b_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


ans =

0


ans =

sin(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


لطفا راهنماییم کنین که ایراد از کجاست چون من تازه میخوام متلبو یادبگیرم و برام ضروری هم هست.
سلام دوست عزیز
شما در خط دستوری مربوط به b هر دو بازه رو منفی درنظر گرفتید کافی منفی pi دومی رو بردارید تا به جواب مدنظر برسید
موفق باشید
rezavalizadeh95@gmail.com
پاسخ
 سپاس شده توسط f4r3in

مشکل در نوشتن برنامه سری فوریه در متلب

#3
(۱۳۹۵/۱۰/۲۸, ۰۹:۳۶ ب.ظ)m-r-v نوشته:
(۱۳۹۵/۱۰/۲۷, ۰۴:۳۶ ب.ظ)f4r3in نوشته: با سلام خدمت دوستان
من در برنامه نویسی متلب تازه واردم و به تازگی میخوام یاد بگیرمش چون پروژه دانشجویی خودم سری فوریه در متلب بود نحوه نوشتنش رو از این سایت یاد گرفتم ولی وقتی اجراش میکنم نتیجه درست از آب در نمیاد.
این برنامه متلب من :
کد:
clear
clc
syms x
f=sin(x);
N=10;
a_0=(1/2*pi)*int(f,-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;
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)

اینم نتیجش :
کد:
a_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


b_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


ans =

0


ans =

sin(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


لطفا راهنماییم کنین که ایراد از کجاست چون من تازه میخوام متلبو یادبگیرم و برام ضروری هم هست.
سلام دوست عزیز
شما در خط دستوری مربوط به b هر دو بازه رو منفی درنظر گرفتید کافی منفی pi دومی رو بردارید تا به جواب مدنظر برسید
موفق باشید
ممنون از پاسختون مشکل حل شد ولی تو متلب در خروجی همین سوال مقدار سینوس 5 رو محاسبه نمیکنه و بجاش همون سینوس 5 مینویسه چیکار کنم که مقدار عبارت های مثلثاتی محاسبه بشه.
کد:
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 =

(5734161139222659*pi*sin(5))/18014398509481984


ans =

sin(5)
پاسخ

مشکل در نوشتن برنامه سری فوریه در متلب

#4
(۱۳۹۵/۱۰/۲۹, ۰۲:۰۰ ق.ظ)f4r3in نوشته:
(۱۳۹۵/۱۰/۲۸, ۰۹:۳۶ ب.ظ)m-r-v نوشته:
(۱۳۹۵/۱۰/۲۷, ۰۴:۳۶ ب.ظ)f4r3in نوشته: با سلام خدمت دوستان
من در برنامه نویسی متلب تازه واردم و به تازگی میخوام یاد بگیرمش چون پروژه دانشجویی خودم سری فوریه در متلب بود نحوه نوشتنش رو از این سایت یاد گرفتم ولی وقتی اجراش میکنم نتیجه درست از آب در نمیاد.
این برنامه متلب من :
کد:
clear
clc
syms x
f=sin(x);
N=10;
a_0=(1/2*pi)*int(f,-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;
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)

اینم نتیجش :
کد:
a_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


b_n =

[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]


ans =

0


ans =

sin(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


لطفا راهنماییم کنین که ایراد از کجاست چون من تازه میخوام متلبو یادبگیرم و برام ضروری هم هست.
سلام دوست عزیز
شما در خط دستوری مربوط به b هر دو بازه رو منفی درنظر گرفتید کافی منفی pi دومی رو بردارید تا به جواب مدنظر برسید
موفق باشید
ممنون از پاسختون مشکل حل شد ولی تو متلب در خروجی همین سوال مقدار سینوس 5 رو محاسبه نمیکنه و بجاش همون سینوس 5 مینویسه چیکار کنم که مقدار عبارت های مثلثاتی محاسبه بشه.
کد:
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 =

(5734161139222659*pi*sin(5))/18014398509481984


ans =

sin(5)
سلام
فرمی که نوشتید درسته ،من کد رو اجرا می کنم در خروجی سینوس رو محاسبه می کنه، شما در کامن ویندو عبارت سینوس رو تنها محاشبه کنید ببینید جواب میده یا خیر ؟
موفق باشید
rezavalizadeh95@gmail.com
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان