[CENTER]اخي كنت مشغول اسف
قمت بتعديل الكود حتى تصبح النتائج مطابقة لما وصل اليه الاستاذ
عندك 3 اسئلة
السؤال الاول
يريد ان يصل الى نتيجة مثل نتيجة الاستاذ
وضعت 5 قيم ل k ممكن يدخلها المستخدم
clear all
clc
close all
% Question 'a' ============================================================
k=zeros(1,5);
A= input('Inter number A: ');
T= input('Inter number T: ');
for i=1:5
k(i)= input(strcat('Inter number k',num2str(i),': '));
end
colorm=['b-.' 'g--' 'c: ' 'k ' 'm-.'];
t=-T/2:0.01:T/2;
s=zeros(size(t));
for x=1:length(t)
s(x)=((-2*A*t(x)/T)+ A)*(0 <= t(x))*(t(x)<=(T/2));
end
plot(t,s,'r-','LineWidth',2);
s_e=zeros(size(t));
for j=1:5
for x=1:length(t)
sum1=0;
sum2=0;
for n=1:k(j)
sum1=sum1+(1/n)*sin(2*pi*n*t(x)/T);
if rem(n,2)~=0
sum2=sum2+(1/n^2)*cos(2*n*pi*t(x)/T);
end
end
s_e(x)=(A/4)+(2*A)/(pi^2)*sum2+(A/pi)*sum1;
end
hold on
plot(t,s_e,colorm((j-1)*3+1:j*3),'LineWidth',2);
end
legend('original s(t)',strcat('se: k = ',num2str(k(1))),...
strcat('se: k = ',num2str(k(2))),...
strcat('se: k = ',num2str(k(3))),...
strcat('se: k = ',num2str(k(4))),...
strcat('se: k = ',num2str(k(5))),...
'Location','NorthWest');
xlabel('(t seconds)');
ylabel('s(t)');
grid on
لو ادخلت نفس قيم الاستاذ
A=1
T=1
k=0
k=1
k=3
k=5
k=9
ستحصل على نفس النتيجة
السؤال الثاني
يعني يريد الوصول لنفس الجدول الذي وصل اليه الاستاذ
clear all
clc
close all
A= input('Inter number A: ');
T= input('Inter number T: ');
N= input('Inter number N: ');
Pt=A*A/6;
disp(strcat('Total power s(t) =',num2str(Pt)));
disp(' k Incremental Power Total FSE Power % of Total');
disp('========================================================================');
Po=0;
P=zeros(N+1,4);
P(1,:)=[0,((A/4)^2),((A/4)^2),((A/4)^2)/Pt*100];
Cst=(A/4)^2;
for n=2:N+1
j=n-1;
R=(((A*(1-cos(pi*j)))/(pi^2*j^2))^2+(A/(pi*j))^2)/2;
Po=Po+R;
P(n,:)=[j,R,Cst+Po,(Cst+Po)/Pt*100];
end
disp(P);
لو تضع نفس القيم التي وضعها الاستاذ
يعني
A=1
T=1
N=40
سنتحصل على نفس الجدول
Total power s(t) =0.16667
k Incremental Power Total FSE Power % of Total
========================================================================
0 0.0625 0.0625 37.5000
1.0000 0.0712 0.1337 80.2155
2.0000 0.0127 0.1464 87.8146
3.0000 0.0059 0.1522 91.3441
4.0000 0.0032 0.1554 93.2439
5.0000 0.0021 0.1575 94.4794
6.0000 0.0014 0.1589 95.3238
7.0000 0.0010 0.1599 95.9492
8.0000 0.0008 0.1607 96.4242
9.0000 0.0006 0.1613 96.8013
10.0000 0.0005 0.1618 97.1053
11.0000 0.0004 0.1623 97.3573
12.0000 0.0004 0.1626 97.5684
13.0000 0.0003 0.1629 97.7487
14.0000 0.0003 0.1632 97.9038
15.0000 0.0002 0.1634 98.0391
16.0000 0.0002 0.1636 98.1579
17.0000 0.0002 0.1638 98.2632
18.0000 0.0002 0.1639 98.3570
19.0000 0.0001 0.1641 98.4413
20.0000 0.0001 0.1642 98.5173
21.0000 0.0001 0.1643 98.5863
22.0000 0.0001 0.1644 98.6491
23.0000 0.0001 0.1645 98.7066
24.0000 0.0001 0.1646 98.7594
25.0000 0.0001 0.1647 98.8080
26.0000 0.0001 0.1648 98.8530
27.0000 0.0001 0.1648 98.8947
28.0000 0.0001 0.1649 98.9335
29.0000 0.0001 0.1649 98.9696
30.0000 0.0001 0.1650 99.0034
31.0000 0.0001 0.1651 99.0351
32.0000 0.0000 0.1651 99.0647
33.0000 0.0000 0.1652 99.0927
34.0000 0.0000 0.1652 99.1190
35.0000 0.0000 0.1652 99.1438
36.0000 0.0000 0.1653 99.1672
37.0000 0.0000 0.1653 99.1894
38.0000 0.0000 0.1654 99.2105
39.0000 0.0000 0.1654 99.2305
40.0000 0.0000 0.1654 99.2495
>>
الاختلاف فقط في شكل النتائج
السؤال الثالث
لم اغير فيه شيء
لاني اظنه صحيحا
clear all
clc
close all
A= input('Inter number A: ');
T= input('Inter number T: ');
N= input('Inter number N: ');
Frequency = 0:N;
PwrSepctralD = zeros(size(Frequency));
PwrSepctralD(1) = (A/4)^2;
for n=1:2:N
PwrSepctralD(n+1) = ((((A*(1-cos(pi*n)))/(pi^2*n^2))^2)/2+((A/pi*n)^2/2));
end
stem(Frequency, PwrSepctralD,'rx','LineWidth',2);
title('Power Spectral Density function for s(t)');
xlabel('frequency - Hz');
grid
ستجد الملفات 3 في المرفق
[/center]