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


رتبه موضوع:
  • 2 رای - 3.5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
برنامه ی سری فوریه

برنامه ی سری فوریه

#1
سلام
واقعا سایت مفیدی دارید ،خوشحالم که عضو شدم.
من یه سواله نه چندان سخت داشتم خواستم اینجا مطرح کنم تا هر کی که میتونه کمک کنه...
سوال :یک تابع رو داخل mfile بنویسیم ،ضرایب اویلر رو با حلقه for بنویسیم در نهایت سری فوریه تابع رو به ما بده...اگر بتونیم برنامرو طوری بنویسیم که تابع رو هم از ورودی بگیره امتیازه بیشتری داره...مثلا ما تابع f(x)=x^2 رو بدیم و سری فوریه این تابعو بگیریم
 
پاسخ

برنامه ی سری فوریه

#2
سلام.
خیلی ممنون.
مبحث زیر را بخوانید :

http://www.kelidestan.com/matlab/matlab-103.php

برای دریافت مقادیر در ورودی، می توانید از دستور input استفاده کنید. برای آشنایی با دستور input ، مبحث زیر را بخوانید :

http://www.kelidestan.com/matlab/matlab-88.php

 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط روژا

برنامه ی سری فوریه

#3
ممنون از راهنماییتون
جوابتون درست ،اما سوال اینه که سری فوریرو برگردونه نه مقدار عددیه اون رو!خودمم برنامرو تغییر دادم که هم تابعو بگیره و هم سری رو به صورت متغیر بگردونه (نه عدد)،کلی ارور داد [img=21x31]images/smilies/huh.gif[/img]
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ

برنامه ی سری فوریه

#4
می توانید عبارت را به صورت سمبلیک تعریف کنید (شامل جملات سری و ضرایب، مثلا با 10 جمله ابتدایی)، سپس مطابق کد همان مبحث، مقدار ضرایب را به دست آورید و سپس با دستور subs ، در آن عبارت، مقادیر ضرایب را جایگزین کنید (البته می توانید بگردید شاید روش ساده تری هم باشه).
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط روژا

برنامه ی سری فوریه

#5
منظورتون اینه که a-n و b-n و a-0 رو نمادیی بدم؟
بازم ارور داد!!!!!!!
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ

برنامه ی سری فوریه

#6
کدهاتون رو اینجا بنویسید تا بررسی کنم.
 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط روژا

برنامه ی سری فوریه

#7
کد:
clear all
clc
syms x a-n b-n
f(x)=input('Please insert f(x)=')
l=input('Please enter l=')
N=10;
a_0=(1/2l)*int(f(x),-l,l)
for n=1:N
a_n(n)=(1/l)*int(f(x)*cos(((n*pi)/l)*x),-l,l);
b_n(n)=(1/l)*int(f(x)*sinn(((n*pi)/l)*x),-l,l);
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)

 
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ

برنامه ی سری فوریه

#8
خوب کاری به هدف برنامه نداریم و نکاتی که دیدم رو تذکر میدم :

کد:
a_0=(1/2l)*int(f(x),-l,l)

در کد بالا، عبارت 2l را نوشته اید که غلط است و باید علامت * را در میان آنها به کار ببرید.

نکته بعدی :

کد:
syms x a-n b-n

در کد بالا، سعی کرده اید که دو متغیر با نام های  a-n و b-n ، به صورت سمبلیک، تعریف کنید، در صورتی که این دو نام، نام های غیرمجاز برای متغیرها می باشند (ایجاد خطا می کند). نام های a_n و b_n را باید انتخاب کنید.

نکته سوم :

کد:
f(x)=input('Please insert f(x)=')

کد بالا غلط است و شما باید تنها نام f را برای تابع انتخاب کنید، یعنی به صورت زیر :

کد:
f=input('Please insert f(x)=')

نکته چهارم :
در جایی از برنامه، تابع sin را به صورت sinn نوشته اید.

من 4 خطا را تصحیح کردم. اما لطفا بحث خطایابی را جدی بگیرید و با سماجت، به دنبال یادگیری آن باشید.

کدها با رفع 4 خطای بالا، به صورت زیر خواهد بود :

کد:
clear all
close all
clc

syms x a_n b_n
f=input('Please insert f(x)=')
l=input('Please enter l=')
N=10;
a_0=(1/2*l)*int(f,-l,l)
for n=1:N
    a_n(n)=(1/l)*int(f*cos(((n*pi)/l)*x),-l,l);
    b_n(n)=(1/l)*int(f*sinn(((n*pi)/l)*x),-l,l);
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)

من به کلیت برنامه کاری نداشتم و  تنها خطایابی کردم، بنابراین باید خودتان ببینید آن چیزی که می خواهید هست یا نه.
باز هم تذکر می دهم، اول خودتان خطایابی کنید، اگر به نتیجه نرسیدین، بعد اینجا مطرح کنید. 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط روژا

برنامه ی سری فوریه

#9
درسته!ممنون .
من خودم یک جا درست تر نوشته بودم،منتها کدها رو  که اینجا گذاشتم عجله ای شد....
ببخشید.
مرسی ک جواب دادین
 
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ
 سپاس شده توسط admin

برنامه ی سری فوریه

#10
برنامه ران میشه و ارور نداره، منتها اونی نیست که باید، ما میخوایم مثلا اگر f(X)=sin(x رو دادیم خروجی به صورت تابعی از x باشه
sin(x)=8/pi+sikm 1 ta 10(4/pi(1/1-4 pi^2)cos(2nx))
من فقط میدونم دستور pretty(a) به صورت دست نویس نشون میده!شاید استفاده  ی این دستور در آخرش کافی باشه ولی نمیدونم چطور باید استفاده کنم؟؟
منظورم اینه که هم مقدارو اول نشون بده هم خط آخر خروجی مثل دست نویس باشه نه این که مقدار کسینوسو حساب کنه
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ

برنامه ی سری فوریه

#11
قبلا تذکر دادم که تعریف متغیری با نام زیر، غلط است :

کد:
f(x)

بلکه باید متغیر را با نام f تعریف کنید، هر وقت هم که خواستید عبارت معادل f در خروجی نمایش داده شود، تنها کافی است که حرف f را در یک خط از کدها بنویسید، آنگاه عبارت معادل آن، به صورت سمبلیک نمایش داده می شود.

در کد زیر، با 3 روش، یک f دلخواه را در خروجی نمایش می دهیم :

کد:
clear all
close all
clc

syms x
f = sin(x);

f
pretty(f)
disp(f)

نتیجه اجرای کد متلب بالا :

کد:
f =

sin(x)


  sin(x)
sin(x)
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط روژا

برنامه ی سری فوریه

#12
این موضوع رو متوجه شدم،من منظورم داخل Command window بود! میگم اونجا که f(x) رومیدیم آخرسر که جواب رو برگردوند به صورت دسی بنویسه!
نمیدونم چطوری اینجا بنویسم؟ علامت سامنشنو نمیدونم چطور بذارم؟
مثلا اگر توی مثال زیر َa ی مورد نظر همون سری فوریه باشه به صورت دستی بنویسه!

کد:
syms n
a=(sin(n*x)^2*cos(n*x)^2/3)/(5*tan(n*x))
pretty(a)

که خروجیش اینه

a =
 
(cos(n*x)^2*sin(n*x)^2)/(15*tan(n*x))
 
 
          2         2
  cos(n x)  sin(n x)
  -------------------
      15 tan(n x)

امیدوارم منظورمو متوجه بشید
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ

برنامه ی سری فوریه

#13
کل کدها را اینجا بنویسید (کد و نتیجه) تا من کد و خروجی رو ببینم.
بعد به طور واضح توضیح بدهید که چه می خواهید و مشکل چیست.
با حوصله بنویسید !
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط روژا

برنامه ی سری فوریه

#14
نمیتونم اون چیزی که میخوام رو تایپ کنم،یه پی دی اف پیدا کردم که خروجیش به اونی که میخوام نزدیک تره، اما اونم یکم باید تغییرش بدم
ازتون ممنونم که کمک کردید ک اوله برنامرو درست کردم بیشتر امتیازش همون ورودیش بود...خروجیشم بیشتر وقت میزارم برنامم که کامل شد میزارم!
فقط نمیدونم اون پی دی افو چطور ضمیمه کنم.... که بقیه هم استفاده کنند
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ

برنامه ی سری فوریه

#15
 
مثل تصویر عمل کنید یا در سایتهایی که امکان آپلود فایل را فراهم میکنند مثل www.4shared.com استفاده کنید.
 


فایل‌های پیوست

عکس(ها)
   
دوست دارم زندگی رو . . . 
پاسخ
 سپاس شده توسط admin ، روژا

برنامه ی سری فوریه

#16
ممنون
 


فایل‌های پیوست

دانلود readme.pdf

نام فایل readme.pdf
نوع فایل .pdf
دفعات دانلود 466
اندازه 659.94 KB
ارسال کننده فایل روژا
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ

برنامه ی سری فوریه

#17
فایل ضمیمه شده، اطلاعات جدیدی نمی دهد. برای نمایش خروجی، دستورات همان هایی است که خدمتتان عرض کردم (روش های مختلفی که گفتم). اگر عبارت به صورت سمبلیک باشد، در خروجی متلب نیز به صورت سمبلیک نمایش داده خواهد شد. حالا مثلا شما ترجیح می دهید از دستور pretty استفاده کنید.
فکر می کنم این گره، تنها به دست خودتان باز می شود زیرا تنها خودتان می دانید که چه می خواهید. آنقدر کد بنویسید تا به آنچه می خواهید برسید.
موفق باشید.
 
bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط روژا

برنامه ی سری فوریه

#18
ممنون
[font][font]بزرگترین[/font] [font]لذت[/font] [font]زندگی[/font][/font]
[font]داشتن دوست صمیمی است[img=21x21]images/smilies/heart.gif[/img][/font]
پاسخ
 سپاس شده توسط admin ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


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