خوب کاری به هدف برنامه نداریم و نکاتی که دیدم رو تذکر میدم :
در کد بالا، عبارت 2l را نوشته اید که غلط است و باید علامت * را در میان آنها به کار ببرید.
نکته بعدی :
در کد بالا، سعی کرده اید که دو متغیر با نام های a-n و b-n ، به صورت سمبلیک، تعریف کنید، در صورتی که این دو نام، نام های غیرمجاز برای متغیرها می باشند (ایجاد خطا می کند). نام های a_n و b_n را باید انتخاب کنید.
نکته سوم :
کد بالا غلط است و شما باید تنها نام f را برای تابع انتخاب کنید، یعنی به صورت زیر :
نکته چهارم :
در جایی از برنامه، تابع sin را به صورت sinn نوشته اید.
من 4 خطا را تصحیح کردم. اما لطفا بحث خطایابی را جدی بگیرید و با سماجت، به دنبال یادگیری آن باشید.
کدها با رفع 4 خطای بالا، به صورت زیر خواهد بود :
من به کلیت برنامه کاری نداشتم و تنها خطایابی کردم، بنابراین باید خودتان ببینید آن چیزی که می خواهید هست یا نه.
باز هم تذکر می دهم، اول خودتان خطایابی کنید، اگر به نتیجه نرسیدین، بعد اینجا مطرح کنید.
کد:
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)
من به کلیت برنامه کاری نداشتم و تنها خطایابی کردم، بنابراین باید خودتان ببینید آن چیزی که می خواهید هست یا نه.
باز هم تذکر می دهم، اول خودتان خطایابی کنید، اگر به نتیجه نرسیدین، بعد اینجا مطرح کنید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.