سلام دوستان
من یه تابع با متلب نوشتم که مقدار سری فوریه exp(x)l رو حساب میکنه چه جوری میتونم این فایل رو compile کنم .آخه برنامه رو باید به صورت EXE تحویل بدم. :sad:
لطفا زود تر کمکم کنید چون باید تا شنبه تحویل بدم :nerd:
گفتم شاید بد نباشه کدی که نوشتم رو اینجا بزارم. :nice:
شاید فک کنید ساده تر از این هم میشد ولی نباید از امکانات خاص متلب استفاده میکردم.

در ضمن این حالت مختلط سری فوریه هستش .
صورت کامل سوال ر میتونید اینجا ببینید
مثال صفحه 30 کتاب ریاضی مهندسی شید فر چاپ جدید (صفحه 33 چاپ قدیم)
function out=expfourie(input)
%%%% in tabe meghdar seri fourie exp(x) ra bar migardanad %%%
sum=0;
temp=0; %meghdar dehi moteghayer ha
sum2=0;
cn(1:2001)=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
%%%%% dar in block ma meghdar C(n) haye beyn -1000 ta %%%%%%
%%%%% +1000 ra payda va dar araye 'cn' zakhire mi****m %%%%%%
%%%%% baraye halleh antegral az yek halghe for estefadeh %%%%%%
%%%%% kardim ke dar an elemane koochakeh 'dx' ra 0.01 dar %%%%%%
%%%%% nazar gereftim %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
for ii=-1000:1000
for dx=-pi:0.01:pi
sum=exp((1-i.*ii).*dx).*0.01;
cn(ii+1001)=cn(ii+1001)+sum;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
for kk=1:2001
cn(kk)=cn(kk).*(1/(2*pi)); %%%%%% dar in ja megdar har cn bedast
%%%%%% amdeh dar bala zarb dar 1/2pi
end %%%%%% mishavad
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
%%%%% dar in block meghdare nahayei tabe bedast miayad be in sourat
%%%%% ke tamame cn hayeh bedast amade dar ghesmate ghabl zarb dar
%%%%% exp(inx) mishavad,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
for jj=-1000:1000
sum2=cn(jj+1001).*exp(i.*jj.*input); %% input haman vouroudi(x) ast
temp=temp+sum2; %% jj haman 'n' ast
end
out=temp
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%
برای چاپ دو تابع متن زیر رو در خط فرمان کپی پیست کنید
subplot(2,1,1);
x=-pi:.01:pi;
y=exp(x);
plot(x,y);
subplot(2,1,2);
x=-2*pi:.01:2*pi;
y=expfourie(x);
plot(x,y);
hold on
subplot(2,1,1);
title('Exp(x) -pi till pi'
subplot(2,1,2);
title('Fourie{Exp(x)} -2pi till 2pi'
موفق باشید :job: :job:
من یه تابع با متلب نوشتم که مقدار سری فوریه exp(x)l رو حساب میکنه چه جوری میتونم این فایل رو compile کنم .آخه برنامه رو باید به صورت EXE تحویل بدم. :sad:
لطفا زود تر کمکم کنید چون باید تا شنبه تحویل بدم :nerd:
گفتم شاید بد نباشه کدی که نوشتم رو اینجا بزارم. :nice:
شاید فک کنید ساده تر از این هم میشد ولی نباید از امکانات خاص متلب استفاده میکردم.



در ضمن این حالت مختلط سری فوریه هستش .
صورت کامل سوال ر میتونید اینجا ببینید
مثال صفحه 30 کتاب ریاضی مهندسی شید فر چاپ جدید (صفحه 33 چاپ قدیم)
function out=expfourie(input)
%%%% in tabe meghdar seri fourie exp(x) ra bar migardanad %%%
sum=0;
temp=0; %meghdar dehi moteghayer ha
sum2=0;
cn(1:2001)=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
%%%%% dar in block ma meghdar C(n) haye beyn -1000 ta %%%%%%
%%%%% +1000 ra payda va dar araye 'cn' zakhire mi****m %%%%%%
%%%%% baraye halleh antegral az yek halghe for estefadeh %%%%%%
%%%%% kardim ke dar an elemane koochakeh 'dx' ra 0.01 dar %%%%%%
%%%%% nazar gereftim %%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
for ii=-1000:1000
for dx=-pi:0.01:pi
sum=exp((1-i.*ii).*dx).*0.01;
cn(ii+1001)=cn(ii+1001)+sum;
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
for kk=1:2001
cn(kk)=cn(kk).*(1/(2*pi)); %%%%%% dar in ja megdar har cn bedast
%%%%%% amdeh dar bala zarb dar 1/2pi
end %%%%%% mishavad
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
%%%%% dar in block meghdare nahayei tabe bedast miayad be in sourat
%%%%% ke tamame cn hayeh bedast amade dar ghesmate ghabl zarb dar
%%%%% exp(inx) mishavad,
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%
for jj=-1000:1000
sum2=cn(jj+1001).*exp(i.*jj.*input); %% input haman vouroudi(x) ast
temp=temp+sum2; %% jj haman 'n' ast
end
out=temp
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%
برای چاپ دو تابع متن زیر رو در خط فرمان کپی پیست کنید
subplot(2,1,1);
x=-pi:.01:pi;
y=exp(x);
plot(x,y);
subplot(2,1,2);
x=-2*pi:.01:2*pi;
y=expfourie(x);
plot(x,y);
hold on
subplot(2,1,1);
title('Exp(x) -pi till pi'

subplot(2,1,2);
title('Fourie{Exp(x)} -2pi till 2pi'

موفق باشید :job: :job:
دیدگاه