Click here to load reader
Upload
eem-ders-notlari
View
392
Download
31
Embed Size (px)
Citation preview
08.04.2006
SAÜ MÜH.FAK.ELK-ELN. MÜH.BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI ve ÇÖZÜMLERĐ
S1) yexyxf 2sin2),(1 += -1
2),( 322 −−−+= yyxxyxf
denklem sisteminde, 0)0( =x ; 0)0( =y başlangıç koşulları altında;
a) denklem sistemini Newton Raphson yaklaşımını kullanarak birinci iterasyon adımı sonundaki )1(x ve
)1(y değerlerini elle hesaplayarak bulunuz.
b) denklem sistemini Gauss-Seidel yaklaşımını kullanarak birinci iterasyon adımı sonundaki )1(x ve
)1(y değerlerini elle hesaplayarak bulunuz.
Not: Yukarıdaki çözümlerde hiçbir MATLAB komutu kullanılmadan kitabınızda verilen algoritmadaki hesaplar
elle gerçekleştirilecektir.
Şekil 1
S2) Şekil 1'de verilen devrede A, B, C elemanları lineer olmayan dirençlerdir. Bu dirençlere ilişkin tanım
bağıntıları ise aşağıda verilmiştir:
42 31 += ivA ⇒ :Av A direncine ilişkin uç gerilimi
:1i A direncine ilişkin akım
12 32 += ivB ⇒ :Bv B direncine ilişkin uç gerilimi
:2i B direncine ilişkin akım
22 33 += ivC ⇒ :Cv C direncine ilişkin uç gerilimi
:3i C direncine ilişkin akım
1i , 2i ve 3i akımlarını bulunuz.
S3) Karenin, dikdörtgenin ve yamuğun alanlarını hesaplayan bir program yazılacaktır. Kullanıcıya ilk olarak 'kare, dikdortgen ve yamuktan hangisinin alanini hesaplamak
istiyorsunuz?' diye sorulacak, kullanıcı klavye ile 'kare' yazdığında, kullanıcıdan karenin bir kenar
uzunluğunu girmesi istenecektir. Eğer şekil dikdortgen ise ' kisa kenari girin ' ve ' simdi de
uzun kenari girin ' ifadesi kullanıcıya yöneltilecektir. Eğer şekil yamuk ise ' alt kenari
girin ' , ' ust kenari girin ' ve ' yuksekligi girin ' ifadesi kullanıcıya yöneltilecektir. Her
bir işlemden sonra (istenen şekle göre) 'karenin alanı=' vb. ifadeleri takiben hesaplanan alanın
değeri kullanıcıya bildirilecektir. Tüm işlemler bittikten sonra kullanıcıya 'başka alan hesabi
yaptirmak istiyormusunuz?' sorusu yöneltilecek, eğer cevap 'evet' ise programın başındaki
işlemler tekrar yapılacak 'hayir' ise başından beri yapılan tüm alan hesaplamalarının sayısı kullanıcıya
bildirilerek program sona erdirilecektir.
E=10 volt
)t(i1 )t(i2 )t(i3
A
B C
www.eemder
snotla
ri.com
08.04.2006
Cevap 1) a) 0)0( =x ; 0)0( =y
A= )0()0()0()0()0(1 2sin2),( yexyxf += -1=2*0+2*1-1=1
B= 2)()(),( )0(3)0()0(2)0()0()0()0(2 −−−+= yyxxyxf =-2
−=
==∆−
2
1),(),(
)0()0()0()0()0(
B
AyxFXyxJ
∂
∂
∂
∂
∂
∂
∂
∂
=
==
==
)0()0(
)0()0(
22
11
yyxx
xyxx
y
f
x
f
y
f
x
f
J =
−=
−−+11
22
1312
2)cos(22
)0(
)0()0(
)0(
yx
exy
)0()0()1( XXX ∆+= =
−
−−
=−= −
2
1
5.025.0
5.025.0
0
0),(*
)0()0(1)0()1(yxFJXX
−=
25.1
75.0)1(X
b) Gauss Seidal yöntemi lineer olmayan denklem sistemlerine uygulanamaz.
Cevap 2) Verilen devreye Kirchhoff gerilim ve akım yasası uygulanır ise;
=10 4)(2 31 +ti + 1)(2 3
2 +ti
1)(2)( 32 += titvB = )(2)(2 3
3 tvti C=+
)()()( 321 tititi +=
>> x0=[0,0,0]; ('enter')
>> [xdeger,fonkdeger,kontrol]=fsolve('vize_2006',x0) ('enter')
Optimization terminated: first-order optimality is less than options.TolFun. xdeger = 1.2447 0.8298 0.4149 fonkdeger = 1.0e-012 * 0.6661 -0.3407 -0.0011 kontrol = 1 function F=vize_2006(X) F=[2*X(1)^3+2*X(2)^3-5; 2*(X(2)^3)-2*X(3)^3-1; X(1)-X(2)-X(3)];
Cevap 3) sayac=0; syms h e devam devam=e; while devam==e disp('kare, dikdortgen ve yamuktan hangisinin alanini hesaplamak istiyorsunuz?'); A=input('kare ise "k",dikdortgen ise "d", yamuk ise "y" yaziniz','s'); sayac=sayac+1; if A=='k' kenar=input('kare nin bir kenarinin uzunlugunu giriniz');
www.eemder
snotla
ri.com
08.04.2006
disp('kare nin alani') Alan=kenar^2 elseif A=='d' kenar1=input('dikdortgenin kisa kenarinin uzunlugunu giriniz'); kenar2=input('dikdortgenin uzun kenarinin uzunlugunu giriniz'); disp('dikdortgenin nin alani') Alan=kenar1*kenar2 elseif A=='y' alt=input('yamugun alt taban uzunlugunu giriniz'); ust=input('yamugun ust kenar uzunlugunu giriniz'); yukseklik=input('yamugun yuksekligini giriniz'); disp('yamugun alani') Alan=(alt+ust)*yukseklik/2 end disp('baska alan hesabi yapmak istiyormusunuz?') devam=input('evet ise "e",hayir ise "h" yaziniz','s'); if devam==h disp('hesaplanan alan sayisi') sayac else end end
www.eemder
snotla
ri.com
SAYISAL ANALĐZ YAZ OKULU VĐZE SINAV SORULARI (17/07/2006) Soru 1)
Şekil 1 Şekil 2
Şekil 1’de verilen devreye ilişkin yük akımı şekil 2’de çizilmiştir. i(t) akımına ilişkin genel ifade aşağıda
gösterilmiştir;
i(t)=τ−+ϕ−π /tm Ae)t*f**2sin(
Z
V Amper
)R
L*50**2(tan
1 π=ϕ −
; R/L=τ sn ; Z=|R+j*2*Π *50*L| ohm; f=50 Hz; t=0:0.00001:20*3
10−
sn
)t*50**2sin(V)t(V m π= Volt; ∫==
T
0t
2etkin dt)t(i
T
1I ; ∫=
=
T
0tort dt)t(i
T
1I
Verilen devrede L ve R değeri değiştikçe, şekil 2’de görülen k noktasının yeri sağa veya sola doğru yatay olarak
kaymakta, maxI değeri, i(t) akımının etkin ve ortalama değerleri değişmektedir. Aşağıda verilen 3 farklı mV , R,
L ve A değer setleri için i(t) akımının ortalama, etkin ve maksimum değerlerini hesaplayan bir m dosyası
oluşturunuz.
Vm=[240*sqrt(2) 230*sqrt(2) 210*sqrt(2)]; R=[10 9 8]; L=[0.1 0.12 0.14]; A=[9.81 9 9]; ⇐ 3 ayrı deney seti
Not: Oluşturulacak m dosyası üç adet alt programa dallanacaktır. Bu alt programlarda akımın ortalama, etkin ve
maksimum değerleri hesaplanacak ve ana programa dönülerek program çalışmaya devam edecektir.
81.9A;1.0L;10R);2(sqrt*240Vm ==== değerleri 1. deney setini oluşturmaktadır.
Önemli not: Akım T=20 msn’den önce de sıfır olabilir (k noktası) ,bu durumda k noktası ile T arasında akım sıfır değerini alır. Not: k değerini bulmak için find komutundan faydalanmanız önerilir zira sıfır geçişte akımın sıfır olduğu t anı t’nin adım hassasiyeti nedeni ile bulunamayabilir. Soru 2) Soru 1’de verilen 1. deney seti için i(t) akımının değerlerini kullanarak i(t) akımının 14.dereceden bir
polinom şeklinde denklemini oluşturunuz. Kısaca, i(t)=τ−+ϕ−π /tm Ae)t*f**2sin(
Z
V formunda değil,
mks.....dscsbsas)t(i 11121314 ++++++= formunda elde edilecektir (a,b,c,d,…,k,m bulunacak). Her iki
eğri de aynı eksen takımı üzerine çizdirilerek eğriler kontrol edilecektir.
Soru 3) Soru 1’de verilen 3. deney seti için elde edilen i(t) akım eğrisinin altında kalan alanı hesaplayınız.
Soru 4) Soru 1’de verilen t aralığında, 2. deney seti değerleri için ele edilen i(t) akımını bilgisayara en kısa
sürede tanıtarak çizdirecek bir m dosyası yazınız. (Yani, yazacağınız m dosyasının başına tic sonuna toc
konulduğunda, sizin elde edeceğiniz elapsed time değerinden daha küçük bir t değeri matlab ortamında
elde edilemesin).
Sınav süresi 80 dakikadır. Notlar açıktır.
Not baremi: 1-40 2-20 3-20 4-20
R
L
i(t)
i(t)
V(t)
t
maxI
k
www.eemder
snotla
ri.com
SAYISAL ANALĐZ YAZ OKULU VĐZE SINAV CEVAPLARI
Cevap 1) Vm=[240*sqrt(2) 230*sqrt(2) 210*sqrt(2)];
R=[10 9 8]; L=[0.1 0.12 0.14]; A=[9.81 9 9];
fi=atan(2*pi*50*L./R);
Z=abs(R+j*2*pi*50*L);
to=L./R
t=0:0.00001:20*10^-3;
for k=1:3
akim=(Vm(k)/Z(k))*sin(2*pi*50*t-fi(k))+A(k)*exp(-t./to(k));
figure(k)
plot(t,akim)
sec1=(akim>=0);
ff=sec1.*akim;
ortalama(k)=ortbul(ff)
etkin(k)=etkinbul(ff)
maksimum(k)=maksbul(ff)
end
Cevap 2) Vm=[240*sqrt(2)]; R=[10]; L=[0.1]; A=[9.81];
fi=atan(2*pi*50*L./R);
Z=abs(R+j*2*pi*50*L);
to=L/R
t=0:0.0001:20*10^-3;
akim=(Vm/Z)*sin(2*pi*50*t-fi)+A*exp(-t./to);
sec1=(akim>=0);
ff=sec1.*akim;
a=polyfit(t,ff,15) % 15.dereceden denklem uyduruluyor
plot(t,ff)
hold on
c=polyval(a,t)
plot(t,c)
Cevap 3) Vm=[210*sqrt(2)]; R=[8]; L=[0.14]; A=[9];
fi=atan(2*pi*50*L./R);
Z=abs(R+j*2*pi*50*L);
to=L/R
t=0:0.0001:20*10^-3;
akim=(Vm/Z)*sin(2*pi*50*t-fi)+A*exp(-t./to);
sec1=(akim>=0);
ff=sec1.*akim;
alan=trapz(t,ff)
Cevap 4) tic
Vm=[210*sqrt(2)]; R=[8]; L=[0.14]; A=[9];
fi=atan(2*pi*50*L./R);
Z=abs(R+j*2*pi*50*L);
www.eemder
snotla
ri.com
to=L/R
t=0:0.0001:20*10^-3;
akim=(Vm/Z)*sin(2*pi*50*t-fi)+A*exp(-t./to);
sec1=(akim>=0);
ff=sec1.*akim;
toc
www.eemder
snotla
ri.com
Uğur Arifoğlu 08.04.2007
SAÜ MÜH.FAK.ELK-ELN. MÜH.BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI
S1)
Şekil 1
Şekil 1’de verilen devrede bobinin uçları arasındaki gerilim değeri, τ−−+= /tsonilksonL e)VV(V)t(V ifadesi ile
değişmektedir. sn 21/2R/L ,V10V ,0V ilkson ===τ== olduğuna göre ve t=0 anında A anahtarı kapatıldığına göre; (tüm
şıkları yalnızca matlab komutları ile yaparak); a) )t(VL geriliminin değişimini, t=0:0.0001:10 saniye komutu yardımı ile
çizdiriniz, b) Eğer bobinin iki ucu arasına t=0:10 saniye aralığındaki bobin geriliminin ortalama değerini ölçen bir voltmetre
bağlanırsa, voltmetrenin hangi değeri göstereceğini bulan matlab programını yazınız, c) t=4 sn sonunda )4t(VL = değerini
bulunuz. d) t=0:10 saniye aralığında bobin geriliminin alabileceği maksimum gerilim değerini bulan matlab komutu üretiniz.
e) )t(VL ’nin 9 Volt dan 3 Volt’ a kadar düşmesi kaç saniye sürmüştür?.
f) dt*)t(VT
1V
T
0
2Letkin,L ∫= olduğuna göre, bobinin uçları arasındaki gerilimin etkin değerini T=10 sn alarak hesaplayınız.
S2) 1e3xsin2)x(f x −+= − lineer olmayan denkleminin x=[0 2*pi] aralığındaki kökünü 0)0( =x başlangıç koşulu altında
(Newton Raphson yaklaşımını kullanarak) ikinci iterasyon adımı sonundaki )3(x değerlerini elle hesaplayarak bulunuz (tüm hesaplamalar elle yapılacak matlab komutu kullanılmayacaktır).Đkinci iterasyon sonunda aranılan köke ulaşılmakta mı dır, nedenini açıklayınız? (epsilon =0.001) alınız.
S3) Şekil 2'de verilen devrede A, B, C elemanları lineer olmayan dirençlerdir. Bu dirençlere ilişkin tanım bağıntıları ise aşağıda verilmiştir:
2i3v 31A −= ⇒ :Av A direncine ilişkin uç gerilimi
:1i A direncine ilişkin akım
1i2v 22B += ⇒ :Bv B direncine ilişkin uç gerilimi
:2i B direncine ilişkin akım
3i4v 33C −= ⇒ :Cv C direncine ilişkin uç gerilimi
:3i C direncine ilişkin akım
Şekil 2
1i , 2i ve 3i akımlarını bulunuz.Yol gösterme: Đki bağımsız göze Kirchhoff gerilim yasası ve D noktasına Kirchhoff akım yasası
uygulayarak elde ettiğiniz üç adet denkleme matlab komutu (fsolve) uygulayınız. x0=[0.1 0 0] Amper alınız. S4) x=[1,2,3,4,5,…..] sıfırdan büyük tam sayıları temsil etsin. i; x’in i. elemanını göstermek şartı ile;
1000
!x
1
x
1)
n
x
x(
n
1i i
n
1i i
n
1i
n
1ii
i
<=
∑
∑∑
∑
+
=
==
=
ifadesini sağlayan n değerini ve bu n değeri için yukarıdaki ifadenin sol tarafının aldığı değeri bulan bir matlab programı yazınız.
S5) Sınav süresi 90 dakikadır. Sınavda kitap ve notlar açıktır. Bunlar masa üstünde ve üstüste
toplu olarak bulunacaktır. Barem: 20 /10 /20 /25/ 25. Sorular öğrencide kalacaktır.
V10E1 =
- +
1Ω A
L=2H
+)t(VL
A E=10 volt
)t(i1
)t(i2 )t(i3
B
C
D
t=0:0.0001:0.02; egri=10*sin(2*pi*50*t);
………………
Yukarıda yazılan program satırlarının altına öyle program satırları daha ilave ediniz ki, program çalıştırıldığında yanda görülen ve değerleri gösterilen hem düz ve hem de kesikli sinüzoidal dalga ele geçsin.
www.eemder
snotla
ri.com
Uğur Arifoğlu 08.04.2007
Cevap 1) t=0:0.0001:10; L=2; R=1; to=L/R; V_L_t=10*exp(-t/to); plot(t,V_L_t) % sorunun a şıkkı bitti V_L_ort=mean(V_L_t) %sorunun b şıkkı bitti V_L_4saniye=10*exp(-4/to) %sorunun c şıkkı bitti max_V_L_t=max(V_L_t) %sorunun d şıkkı bitti u=find(V_L_t<=9 & V_L_t>=3); talt=t(u(1)); tust=t(u(end)); fark=tust-talt % sorunun e şıkkı bitti
V_L_etkin=sqrt(mean(V_L_t.^2)) % sorunun f şıkkı bitti
Yukarıda verilen matlab satırlarının uygulanması sonucunda elde edilen sonuç değerleri aşağıda verilmiştir; >>
V_L_ort = 1.986554577767227 V_L_4saniye = 1.353352832366127 max_V_L_t = 10 fark = 2.197100000000000 V_L_etkin = 3.162269127110304 >>
Cevap 2) (9.11) eşitliğinden; )x(f
)x(fxx
i'
ii1i −=+ yazılırsa;
i=1 için
;0x1 = (ilk koşul)
3e*3)xsin(*2)x(f 1x11 =+= −
132e*3)xcos(*2)x(f 1x11
' −=−=−= −
)x(f
)x(fxx
i'
ii1i −=+ ⇒ =
−−=−=
1
30
)x(f
)x(fxx
1'
112 3
)x(f
)x(fxx
2'
223 −= ; 431.0e*3)xsin(*2)x(f 2x
22 =+= − ; 129.2e*3)xcos(*2)x(f 2x22
' −=−= −
=−
−=−=129.2
431.03
)x(f
)x(fxx
2'
223 3.202⇒ <=−=− 202.33xx 23 epsilon olmadığı için iterasyon devam eder.
www.eemder
snotla
ri.com
Uğur Arifoğlu 08.04.2007
Cevap 3) Şekil 2’de sol göze Kirchhohh gerilim yasası uygulanırsa; 0Evv BA =−+
ve şekil 2’de sol göze Kirchhohh gerilim yasası uygulanırsa; 0Evv BC =−+
ve şekil 2’de D noktasına Kirchhohh akım yasası uygulanırsa;
0iii 231 =−+
elde edilir. Elde edilen 3 adet eşitlik lineer olmayan denklem içerdiğinden fsolve komutu kullanılarak çözülebilir; >> x0=[0.1 0 0];
>> [x,fonkdeger,kontrol]=fsolve(‘nonlineer’,x0)
Yukarıdaki command window satırlarında çalıştırılan alt program satırları ise aşağıda verilmiştir: function F= nonlineer(X) A=3*X(1)^3-2; B=2*X(2)^2+1; C=4*X(3)^3-3; E=20; F=[A+B-E; % sol göze KGY uygulandı B+C-E; % sağ göze KGY uygulandı X(1)-X(2)+X(3)]; % D noktasına KAY uygulandı Yukarıda verilen program satırlarının uygulanması sonucunda elde edilen değerler aşağıda verilmiştir:
>> x = 1.344072792110124 2.618746818692541 1.274674026582416 fonkdeger = 1.0e-012 * 0.035527136788005 0.170530256582424 -0.000222044604925 kontrol = 1 % sonucun doğru olduğunu belirtiyor
Cevap 4)
n=0; ttoplam=0; ort=0; tcarp=0; toplam=0; sonuc=0; while sonuc <= 1000 n=n+1; toplam=toplam+n; ttoplam=ttoplam+1/n; ort=toplam/n; tcarp=tcarp+1/prod(1:n); cevap=sonuc; % bir önceki adımdaki sonuc degeri hafızaya alınıyor sonuc=(toplam+ort)*ttoplam/tcarp end cevap n-1
Önemli açıklama: Yukarıdaki satırlarda n’in son değerinde sonuç, 1000’i geçtiğinde program çalışmaya devam edecektir, zira n’in sondan bir önceki değeri için sonuc değeri 1000’in altında kaldığından program çalışmaya devam ederek n’i bir artıracaktır. Fakat n’in bu artışında sonuc, yeni iterasyon sonrasında 1000’i geçecektir ve bu durumda programın ön koşulu sağlanmamış olur. Bu nedenle 1000 sayısını geçen ilk sonuc değerinde n değeri 1 azaltılarak bir önceki sonuc değeri gerçek
www.eemder
snotla
ri.com
Uğur Arifoğlu 08.04.2007
sonuc olarak yazdırılmalıdır. Sonucun bir önceki iterasyondaki değeri cevap olarak hafızada tutulduğu için aranan sonuç değeri cevap adlı değişken olacaktır. Aranan iterasyon sayısı ise n-1 olacaktır.
Cevap 5)
t=0:0.0001:0.02; egri=10*sin(2*pi*50*t); egri1=egri+15; hold on plot(t,egri1,'--') axis([0 0.02 0 30]) aa=length(t); for k=1:aa if egri1(k)>=22 egri1(k)=22; elseif egri1(k)<=7 egri1(k)=7; end end plot(t,egri1) title('kırpılmış ve yukarı ötelenmiş sinüs dalgası') grid on
www.ee
mdersn
otlari.c
om
U.Arifoğlu 14/07/2008
SAÜ.MÜH.FAK.ELK-ELN.MÜH.BÖL. SAYISAL ANALĐZ YAZ OKULU VĐZE SINAV SORULARI
Soru 1) % xt^3 +yt^2 + zt+w polinom değerinin hesaplanması x=1; y=1; z=1; w=1; t=0;
while x~=0 | y~=0 | z~=0 | w~=0 | t~=0
x = input('yeni bir x katsayısını gir: '); y = input('yeni bir y katsayısını gir: '); z = input('yeni bir z katsayısını gir: '); w = input('yeni bir w değerini gir: '); t = input('yeni bir t değerini gir: '); if imag(t)~=0, 't değeri karmaşık sayı olduğundan dolayı iterasyon sona erdi' break end polinom = x*t^3 + y*t^2 + z*t+w; 'polinomun değeri' disp(polinom) end
if imag(t)==0, ' x=y=z=t=0 olduğundan dolayı program sona erdi ' end
Yukarıda verilen programın işaret akış diyagramını if (baklava şeklinde) ve uygula (dikdörtgen şeklinde) blokları ile çıkarınız. NOT: while ile gösterilen bir işaret akış bloğu olmadığını hatırlayınız.
Soru 2) ......)3
1
2
1(*
7
1)
3
1
2
1(*
5
1)
3
1
2
1(*
3
1)
3
1
2
1(A
443322++++++++=
↑terim.1 ↑terim.2 ↑terim.3 ↑terim.4 …………….. Yukarıda A sayısının seri karşılığı verilmiştir. Seri açılımın toplamını 1.00339’dan büyük yapan ilk terim sayısını ve bu terim için A değerini bulan MATLAB programını yazınız. Format olarak long komutu kullanılacaktır. Soru 3) Bir silindirik kabuğa ilişkin; A (Đç yarıçapı), B (dış yarıçapı), delta (yoğunluğu), r (bulunulan noktanın silindir merkezinden olan uzaklığını) göstermektedir. Silindirik kabukta silindir merkezinden r kadar uzaklıktaki bir noktaya ilişkin yerçekimsel potansiyel değerleri;
>−
≤≤−−
<−
=
Br ),r*3/()A(B*delta*pi*4
BrA ),r*3/(A*delta*pi*4)r3
1(B*delta*pi*2
Ar ),AB(*delta*pi*2
V
32
322
22
r
ifadesi ile hesaplanmaktadır. Yukarıda da görüldüğü gibi r’nin çeşitli değerleri için rV formülleri değişmektedir. Öyle bir MATLAB programı yazınız ki; r=0:0.01:10, A=3; B=8; delta=1.2
değerleri için r=[0:10] aralığında potansiyel değişimini ( )r(fV = ) çizdirsin.
www.eemder
snotla
ri.com
U.Arifoğlu 14/07/2008
Soru 4)
a) 0xxln3xf 22111 =−+=
01x5xxx2f 121212 =+−−=
Yukarıda verilen denklem sisteminde 1x )0(1 = ; 1x )0(
2 = olarak verilmektedir. 1x ve 2x
değerlerini bulan ve bunların doğruluğunu kontrol eden matlab programını yazınız. b) Yukarıda verilen denklem sistemine ilişkin (verilen ilk koşulları kullanarak) Jacobien matrisinin ilk iterasyon sonundaki değerini elle hesaplayınız.(matlab komutu kullanılmayacak)
c) Yukarıda verilen iki yüzeyi ]4;1[x1 = , ]4;1[x 2 = aralıklarında 0.1 hassasiyetle alta alta çizdiren matlab programını yazınız. Barem: 1-30 2-20 3-20 4-30
Notlar açıktır (masa üzerinde dağınık olmayacaktır Sınav süresi 80 dakikadır
Başarılar Dilerim
Prof.Dr.Uğur Arifoğlu
www.eemder
snotla
ri.com
U.Arifoğlu 14/07/2008
Çözümler
Cevap 1)
BAŞLA
x=1; y=1; z=1; t=0
x=0
y=0 z=0 w=0
E
H
E E E
H H H H
imag(t)=0 E
‘ x=y=z=t=0 olduğu için iterasyon sona erdi’
DUR
x = input('yeni bir x katsayısını gir: ');
y = input('yeni bir y katsayısını gir: ');
z = input('yeni bir z katsayısını gir: ');
w = input('yeni bir w katsayısını gir: ');
imag(t)~= 0
‘t değeri karmaşık olduğu için iterasyon sona erdi’
t = input('yeni bir t katsayısını gir: ');
E
H
H
t=0 E
disp (‘polinom’)
polinom = wztytxt 23 +++
www.eemder
snotla
ri.com
U.Arifoğlu 14/07/2008
Cevap 2) clear all format long A=0; k=0; while A<1.00339 m=2*k+1; k=k+1; A=A+(1/m)*((1/2)^(k)+(1/3)^(k)); end 'A nın değeri' A 'terim sayısı' k
Cevap 3) A=3; B=8; delta=1.2; r=0:0.01:10; for k=1:length(r) if r(k)<A v(k)=2*pi*delta*(B^2-A^2); elseif A<=r(k) & r(k)<=B v(k)=2*pi*delta*(B^2-(1/3)*r(k)^2)-4*pi*delta*A^3/(3*r(k)); elseif r(k)>B v(k)=4*pi*delta*(B^2-A^3)/(3*r(k)); end end plot(r,v)
Cevap 4) a) >> x0=[1;1]; >>[x, fonksiyondegeri, kontrol, ozellik]=fsolve('yazokulu_2008',x0)
Yukarıda kullanılan yazokulu_2008.m adlı altprogram aşağıda verilmiştir: function G= yazokulu_2008(X) G(1)=X(1)+3*log(X(1))-X(2)^2; G(2)=2*X(1)^2-X(1)*X(2)-5*X(1)+1;
b) 11
1 x/31x
f)1,1(J +=
∂
∂= ; 2
2
1 x2x
f)2,1(J −=
∂
∂= ;
5xx4x
f)1,2(J 21
1
2 −−=∂
∂= ; 1
2
2 xx
f)2,2(J −=
∂
∂=
J=
)2,2(J)1,2(J
)2,1(J)1,1(J (jacobien matris)
J)0(=
)2,2(J)1,2(J
)2,1(J)1,1(J)0()0(
)0()0(
=
−−
−
12
24
c) [X Y]=meshgrid(1:0.1:4, 1:0.1:4); f1=X+3*log(X)-Y.^2; subplot(2,1,1),surf(X,Y,f1); title('surf komutu f1(x,y) yüzey cizimi'); xlabel('x');ylabel('y');zlabel('z'); f2=2*X.^2-X.*Y-5-X+1; subplot(2,1,2);surf(X,Y,f2); title('surf komutu ile f2(x,y) yüzey cizimi'), xlabel('x');ylabel('y'),zlabel('z');
www.eemder
snotla
ri.com
Uğur Arifoğlu 30.03.2008
SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI S1)
Şekil 1
Şekil 1’de )t(ik akımının t=0:0.001:1 saniye aralığındaki değişimi verilmiştir. )t(ik akımı iki ayrı fonksiyondan
meydana gelmektedir: 10x9x1f 2 +−= ; 4x6x2f += . Akımın periyodu T=1 sn. alınacaktır.
a) )t(ik akımının ortalamasını bulan matlab programı yazınız. (T=1 sn)
b) )t(ik akımın ortalama değerinin akımın ani değerinden küçük olduğu zaman diliminin alt ( altt ) ve üst ( ustt ) değerlerini bulan
matlab programı yazınız.
c) dt*)t(iT
1I
T
0
2ketkin,k ∫= olduğuna göre, akımın etkin değerini T=1 sn için hesaplayan matlab programı yazınız
(tüm soru için yazdığınız program satırlarının sağ tarafına a şıkkı bitti, b şıkkı bitti, c şıkkı bitti ifadeleri koyarak tüm soruyu tek bir program içinde de çözebilirsiniz)
S2) a) x23 ex3)x(f −= lineer olmayan denkleminin kökünü 1x )0( = başlangıç koşulu altında (Newton Raphson yaklaşımını
kullanarak) ikinci iterasyon adımı sonundaki )3(x değerlerini elle hesaplayarak bulunuz (tüm hesaplamalar elle yapılacak, matlab komutu kullanılmayacaktır). Đkinci iterasyon sonunda aranılan köke ulaşılmakta mı dır, nedenini açıklayınız? (iterasyon durdurma toleransı olan epsilon değerini 0.001 alınız.)
b) Yukarıda bulduğunuz f(x) eğrisi değerlerini kullanarak f_x3 adlı üçüncü dereceden bir eğri uydurunuz. Her iki eğriyi aynı eksen takımı üzerine çizdiriniz. Bu çizimde x=[-3:0.01:3] kullanılacaktır.
S3) π
E*4[cos( 1α )-cos( 2α )+cos( 3α )] = 127.32 V
π*3
E*4 [cos(3 1α )-cos(3 2α )+cos(3 3α )] = 0 V
π5
E*4 [cos(5 1α )-cos(5 2α )+cos(5 3α )] = 0 V
Yukarıda verilen üç adet lineer olmayan denklemi fsolve komutu yardımı ile çözünüz. x0 = [0.3 0.4 0.5] alınız. S4) 8x6x4 21 =−
4x4x3 21 =+
;1)0(x1 = ;2)0(x2 = ilk koşuları altında
a) Basit (jacobi) iterasyonu ile ikinci iterasyon sonundaki )2(x1 ve )2(x2 değerlerini bulunuz.
b) Gauss-Seidal iterasyonu ile ikinci iterasyon sonundaki )2(x1 ve )2(x2 değerlerini bulunuz. Her iki şıktaki sonuçları tablo halinde
yan yana veriniz. (Tüm hesaplamalar elle yapılacak, matlab komutu kullanılmayacaktır). Đkinci iterasyon sonunda aranılan köke ulaşılmakta mı dır? (epsilon =0.001) alınız.
www.eemder
snotla
ri.com
Uğur Arifoğlu 30.03.2008
S5) )t(u2
1
x
x
43
21
x
x
dt
d
2
1
2
1
+
=
durum denkleminin homojen çözümünde yer alan;
+
=
α t11
hom2
1 eb
aC
x
x t22 e
d
cC α
; 21,αα ,a, b, c, d değerlerini bulan matlab programını yazınız.
S6) Şekil 2’de verilen algoritmayı matlab komutları kullanarak gerçekleştiriniz. Eğer program kendi mantığı içinde kendiliğinden
bitmez ise iter 50’yi aşınca program duracaktır.
Şekil 2
Tüm cevaplarda derste gelinen yere kadar öğretilen matlab komutları kullanılacak daha sonra öğretilecek konu ve komutlar kullanılmayacaktır. Aksi durumda ilgili cevaptan not verilmeyecektir.
Sınav süresi 100 dakikadır. Soru kağıtları öğrencide kalacaktır.
Ders notları açıktır ve masa üstünde dağınık olarak bulunmayacaktır.
Not baremi: 1-5/5/5 2-10/10 3-10 4-10/10 5-10 6-25
m=2, n=0 iter=0
m< mn
t = m+ mn
n = n + 0.1 m = m - 0.1 iter = iter +1
Hayır
Evet t >1.95
Yazdır t
m n
iter
DUR
Hayır
Evet
n = n + 0.2 m = m - 0.2 iter = iter +1
www.eemder
snotla
ri.com
Uğur Arifoğlu 30.03.2008
ÇÖZÜMLER Cevap 1) t=[0:0.001:1];
ik_t=zeros(1,length(t)); for k=1:length(t) if t(k)<=0.549 ik_t(k)=-9*t(k)^2+10; else ik_t(k)=6*t(k)+4; end end ort=mean(ik_t) % a sikki cozuldu u=find(ort < ik_t); tbas=t(u(1)) tson=t(u(end)) % b sikki cozuldu Ietkin=sqrt(mean(ik_t.^2)) % c sikki cozuldu
Cevap 2) a) (9.11) eşitliğinden; )x(f
)x(fxx
i'
ii1i −=+ yazılırsa;
i=1 için
1x )0( = (ilk koşul)
=−=)o(x*23)o()o( e)x(*3)x(f -4.3891
=−=)o(x*22)o()o(' e*2)(x*9)x(f -5.7781
)x(f
)x(fxx
i'
ii1i −=+ ⇒ =
−
−−=−=
7781.5
3891.41
)x(f
)x(fxx
)o('
)o()o()1( 0.2404
001.07596.012404.0xx )0()1( ≤=−=− şartı sağlanmadığı için iterasyon devam etmelidir.
i=2 için
)x(f
)x(fxx
)1('
)1()1()2( −=
=−=)1(x*23)1()1( e)x(*3)x(f -1.5757
=−=)1(x*22)1()1(' e*2)(x*9)x(f -2.7146
)x(f
)x(fxx
)1('
)1()1()2( −= =-0.3401
001.05805.02404.03401.0xx )1()2( ≤=−−=− şartı sağlanmadığı için iterasyon devam etmelidir.
b) clear all
x=[-3:0.01:3]; f_x=3*x.^3-exp(-2*x)+2; hold on plot(x,f_x) a=polyfit(x,f_x,3); 3 dereceden egri uyduruluyor (polinom olarak) b=polyval(a,x); % 3.dereceden egrinin degerleri bulunuyor plot(x,b,'k--')
Cevap 3) >> x0=[0.3 0.4 0.5] >> [x ,fonkdeger,kontrol]=fsolve(‘sayisal2008_3’,x0) ; function A = sayisal2008_3(x) % yukarida kullanilan alt program dosyasi
A=[cos(x(1))-cos(x(2))+cos(x(3))-0.5; cos(3*x(1))-cos(3*x(2))+cos(3*x(3)); cos(5*x(1))-cos(5*x(2))+cos(5*x(3))];
www.eemder
snotla
ri.com
Uğur Arifoğlu 30.03.2008
Cevap 4) a) Birinci iterasyon
=+
=4
x*68x
)0(2)1(
1 5
=−
=4
x*34x
)0(1)1(
2 0.25
001.0415xx )0(1
)1(1 ≤=−=−
ve
001.025.0225.0xx )0(2
)1(2 ≤=−=− şartları sağlanmadığı için iterasyon devam etmelidir.
Đkinci iterasyon
=+
=4
x*68x
)1(2)2(
1 2.3750
=−
=4
x*34x
)1(1)2(
2 -2.75
001.0625.253750.2xx )1(1
)2(1 ≤=−=−
ve
001.099.225.074.2xx )1(2
)2(2 ≤=−−=− şartları sağlanmadığı için iterasyon devam etmelidir.
b) Birinci iterasyon
=+
=4
x*68x
)0(2)1(
1 5
=−
=4
x*34x
)1(1)1(
2 -2.75
001.0415xx )0(1
)1(1 ≤=−=−
ve
001.075.4275.2xx )0(2
)1(2 ≤=−−=− şartları sağlanmadığı için iterasyon devam etmelidir.
Đkinci iterasyon
=+
=4
x*68x
)1(2)2(
1 -2.125
=−
=4
x*34x
)2(1)2(
2 2.5938
001.0125.75125.2xx )1(1
)2(1 ≤=−−=−
ve
001.07188.4125.2(5938.2xx )1(2
)2(2 ≤=−−=− şartları sağlanmadığı için iterasyon devam etmelidir.
Cevap 5) >> A=[1 2;3 4]; >> [Q,d] =eig(A)
Yukarıdaki sonuçlara göre;
+
=
t*)1,1(d1
hom2
1 e)1,2(Q
)1,1(QC
x
x t*)2,2(d2 e
)2,2(Q
)2,1(QC
olacaktır.
Cevap 6)
t=0;m=2;n=0; for iter=1:50 while m >= n^m
www.eemder
snotla
ri.com
Uğur Arifoğlu 30.03.2008
n=n+0.1; m=m-0.1; iter=iter+1; end t=m+n^m; if t>1.95 n = n + 0.2; m = m - 0.2; iter = iter +1; else break end end m n iter t
www.eemder
snotla
ri.com
Uğur Arifoğlu 6.03.20098 SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI
Şekil 1 Şekil 2
S1) Şekil 1’de verilen ideal OPAMP devresinde ∫−= t0 s
so dt*)t(v
CR
1)t(v eşitliği geçerlidir. Devre girişine şekil 2’deki işaret
uygulandığında )t(vo değişimini bulan ve bunu )t(vs ile aynı pencereye (subplot ile) alt alta çizdiren (üstte Vs olacak) matlab
programını yazınız ( sR =2 ohm,C=3 farad). t=0:0.01:4 alınız.
S2) a) Şekil 2’de verilen işaret bir doğru akım voltmetresine uygulandığında okunan gerilim değerini ( daV ) ve alternatif akım
voltmetresine uygulandığında okunan gerilim ( aaV ) değerini bulan matlab programını yazınız. t=0:0.01:4 alınız
b) Şekil 2’de verilen gerilim değişimi C=3 farad’ lık bir kapasitenin uçlarına uygulandığında kapasiteden akan akımın zamana bağlı değişimini çizdiren matlab programını yazınız. Sayısal matlab komutları kullanmak şartı ile derste öğretilen istediğiniz yaklaşımı kullanabilirsiniz. T=0:0.01:4 alınız.
c) Şekil 2’de verilen eğriyi en az hata ile bir parabole benzeterek, bu parabolün denklemini bulunuz (vektör olarak). Bu parabolü [0 4] sn aralığında t ekseni ile arasındaki alanı hesaplatarak şekil 2’de verilen gerçek alandan farkını bulduran matlab programını yazınız. t=0:0.01:4 alınız. Tüm işlemleri matlab komutları ile yapınız. (a,b,c şıklarını tek bir program içinde yazabilirsiniz)
S3) Şekil 3’de verilen devrede Newton-Raphson yöntemini kullanarak, ba i,i ve ci akımlarının ilk iterasyon sonundaki değerlerini
bulunuz ve ilk iterasyon sonunda yakınsama sağlanıp sağlanamadığını test ediniz. aa i2v = ; bb i3v = ; 5i2v 2cc +=
(Görüldüğü gibi c direnci lineer bir direnç değildir). Hesap kolaylığı açısından jacobian matrisin ilk iterasyondaki ters matris
değerini ones(3,3) alabilirsiniz. X=[ ai ; bi ; ci ], oX =[2.3; 1.8; 0.4]. Bu sorunun çözümünde matlab komutları kullanılmayacak,
tüm işlemler hesap makinası kullanılarak yapılacaktır. epsilon=0.001
Şekil 3
S4) 1i (t) ve )t(i2 akımları bir elektrik devresinin iki farklı dal akımıdır. 1i akım yolu üzerine konacak sigortanın açma akımı 13 A ve
2i akım yolu üzerine konacak sigortanın açma akımı ise 9A dir. Bu iki akımın yolları üzerinde bulunan sigortaların devreyi
açıp açmadığını kontrol ederek, bu akım değerleri ilk aşıldığında “i1 (veya i2) akımının sigortası t=… sn de atmıştır” ya da sigorta akım değerleri hiç aşılmadığında ise “i1(veya i2) akımının sigortası atmamıştır” yazısını command window ortamına yazan bir matlab programı yazınız. Đki farklı daldan akan akımların zamana bağlı değişimleri aşağıda verilmiştir:
1i (t)= 10.29sin((2π50t)-1.262)+9.81 t100e− ; 6t7t3t3)t(i 232 ++−−= ; t=0:0001:2 alınız. Not: 1.262 radyan dır.
S5) Şekil 3’de “a” elemanı LX =2 ohm (bobin), “b” elemanı 2XC = ohm (kapasite), “c” elemanı ise R= 4 ohm (direnç) olsun. “E” nin
yerine )3/wtsin(2220)t(v π−= olan bir kaynak yerleştiriniz. Devre sürekli halde çalışıyorken; a) “a” elemanının uçlarına
bağlanacak aa voltmetresinin ölçtüğü değeri, b) “c” koluna bağlı aa ampermetresinin ölçtüğü değeri, c) Devrenin cosϕ güç faktörü
değerini (endüktif mi, kapasitif mi, omik mi olduğu belirtilecektir), d) Kaynaktan çekilen P (aktif güç) ve Q (reaktif güç) değerini bulan bir matlab programı yazınız. Tüm soru için tek bir program yazıp, her bir satırın yanına % işareti ile yapılan işlemi de yazabilirsiniz. Hiçbir işlem el ile yapılmayacak hepsi matlab komutu kullanılarak yapılacaktır.
Tüm cevaplarda derste gelinen yere kadar öğretilen matlab komutları kullanılacak daha sonra öğretilecek konu ve komutlar kullanılmayacaktır. Aksi durumda ilgili cevaptan not verilmeyecektir.
Sınav süresi 110 dakikadır. Soru kağıtları öğrencide kalacaktır.
Ders notları açıktır ve masa üstünde dağınık olarak bulunmayacaktır.
Not baremi: 1-20 2- 5/5/5 3- 20 4-20 5- 5/5/5/10
)t(vs
)sn(t
10
4 2
(V)
si
0in =
M
-
+
ov
+
-
C sR
N
fi
0ip =
nv
pv +
- sv
www.eemder
snotla
ri.com
Uğur Arifoğlu 6.03.20098
ÇÖZÜMLER Cevap 1) clear all t=0:0.01:4; Rs=2; C=3; a1=length(t); Vs=zeros(1,a1); for k=1:a1 if t(k)<=2 Vs(k)=5*t(k); else Vs(k)=10; end end Vo=(-1/(Rs*C))*cumtrapz(t,Vs); subplot(211),plot(t,Vs,'k'),xlabel('t'),ylabel('Vs'),grid, subplot(212),plot(t,Vo,'k'),xlabel('t'),ylabel('Vo'),grid
Cevap 2) a) t=0:0.01:4; a1=length(t); Vs=zeros(1,a1); for k=1:a1 if t(k)<=2 Vs(k)=5*t(k); else Vs(k)=10; end end mean(Vs) % doğru akım voltmetresi
sqrt(mean(Vs.^2)) % alternatif akım voltmetresi
b) C=3; akimC=C*diff(Vs)./diff(t); plot(t(2:end),akimC,’k’),xlabel(‘t’),ylabel(‘iC’),grid
c) a=polyfit(t,Vs,2); y=polyval(a,t); a1=trapz(t,y);
a2=trapz(t,Vs);
a1-a2 % fark alan
Cevap 3) Şekil 3’ de verilen devreye KAY ve KGY uygulandığında;
f⇒ 2*ia+3*ib-10=0 ; g⇒ 2*ic 2-3*ib+5=0 ; h⇒ - ia+ib+ic=0
eşitlikleri elde edilir. X=[ ai ; bi ; ci ] için jacobian matris;
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
=
ic
h
ib
h
ib
hic
g
ib
g
ib
gic
f
ib
f
ia
f
J
J = [ 2 3 0 ] [ 0 -3 4*ic ] [ -1 1 1 ]
elde edilir.
−
−
−
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
−=
===
===
===
)o()1(
)o()1(
)o()1(
icciibbiiaai
icciibbiiaai
icciibbiiaai
)o()o()o(
)o()o()o(
)o()o()o(
icic
.
ibib
iaia
ic
h
ib
h
ia
h
ic
g
ib
g
ia
g
ic
f.
ia
f
ia
f
ic,ib,ia(h
ic,ib,ia(g
ic,ib,ia(f
)o()o()o(
)o()o()o(
)o()o()o(
www.eemder
snotla
ri.com
Uğur Arifoğlu 6.03.20098
−
−
−
−
−−=
−
−
4.0ic
.
8.1ib
3.2ia
1 1 1
ic*4 3 0
0 3 2
1.0
08.0
0
)1(
)1(
)1(
−
−
−
=
−
−
4.0ic
.
8.1ib
3.2ia
1.0
08.0
0
*
1 1 1
ic*4 3 0
0 3 2
)1(
)1(
)1(1-
−
−
−
=
4.0ic
.
8.1ib
3.2ia
1.0
08.0
0
*
1 1 1
1 1 1
1 1 1
)1(
)1(
)1(
⇒
−
−
−
=
⇒
4.0ic
.
8.1ib
3.2ia
18.0
18.0
18.0
)1(
)1(
)1(
=
+
+
+
=
⇒
58.0
98.1
38.2
18.04.0
18.08.1
18.03.2
ic
.
ib
ia
)1(
)1(
)1(
>
=
−
−
−
=
−
−
−
=
epsilon
epsilon
epsilon
18.0
.
1.0
08.0
4.058.0
.
8.198.1
3.238.2
icic
.
ibib
iaia
)o()1(
)o()1(
)o()1(
olduğu için ikinci iterasyona geçilecektir.
Cevap 4) t=0:0.0001:4;
akim1=10.29*sin(2*pi*50*t-1.262)+9.81*exp(-100*t); a=find(akim1>=13); % akimin 13A i aşan ilk değeri araştırılıyor if length(a)>=1 tacma1=t(a(1)); disp('i1 akimi sigortasi'),disp(tacma1),disp('saniyede atmistir') else disp('i1 akimi sigortasi atmamistir') end akim2=-3*t.^3-3*t.^2+7*t+6; b=find(akim2>=9); if length(b)>=1 tacma2=t(b(1)); % akimin 9A yi aşan ilk değeri araştırılıyor disp('i2 akimi sigortasi'),disp(tacma2),disp('saniyede atmistir') else disp('i2 akimi sigortasi atmamistir') end
Cevap 5) Za=2*exp(j*pi/2); Zb=2*exp(-j*pi/2); Zc=4; V=220*exp(-j*pi/3);Zbc=Zb*Zc/(Zb+Zc); Va=V*Za/(Za+Zbc); % (gerilim bölücü ifadesi) a elemanı gerilim fazoru Vc=V-Va; % c elemanı gerilimi (fazör) Va=abs(V*Za/(Za+Zbc)) % a elemanı aa voltmetre değeri Ic=abs(Vc/Zc) % c elemanına bağlı aa ampermetre değeri Zes=Za+Zbc; % devre empedansı fi=angle(Zes); % devre empedansının fi açısı bulunuyor if fi>0 cos(fi),disp('devre endüktiftir') elseif fi<0 cos(fi),disp('devre kapasitiftir') elseif fi==0 cos(fi),disp('devre omiktir') end S=V*(conj(V)/conj(Zes)); P=real(S) %aktif güç değeri
Q=imag(S) % reaktif güç değeri
www.eemder
snotla
ri.com
U.Arifoğlu
SAYISAL ANALĐZ YAZ OKULU VĐZE SINAV SORULARI (21/07/2009)
Soru 1) y=sin(wt) fonksiyonunun wt=0:pi aralığındaki alanını, hazır alan hesaplatan matlab komutları
(trapz,quad vb…) kullanmaksızın, yazacağınız program satırları ile ve yamuklar yöntemi
mantığını kullanarak hesaplatın. Programın for komutu kullanılarak yapılacak yazımında,
entegral adım aralığını wt∆ =pi/1000 alın.
Soru 2) )t(u1
2
)t(i
)t(V
14
25
)t(i
)t(V
dt
d
L
c
L
c
−+
=
; u(t): birim basak fonkiyonu
Yukarıda verilen durum denkleminde V1)0(Vc = ; A2)0(iL = olduğuna göre t=0:0.001:2 saniye
aralığında )t(VC ve )t(iL değişimlerini, yazacağınız program satırları yardımı ile, alt alta çizdiriniz.
Programda ode, lsim vb. hazır matlab komutları kullanılmayacaktır. Programın for komutu
kullanılarak yapılacak yazımında, aşağıdaki yol gösterme mantığını kullanın:
Yol gösterme: )1k(t)k(t
)1k(V)k(V
)k(dt
)k(dV CCC
−−
−−= veya
)k(t)1k(t
)k(V)1k(V
)1k(dt
)1k(dV CCC
−+
−+=
+
+
)1k(t)k(t
)1k(i)k(i
)k(dt
)k(di LLL
−−
−−= veya
)k(t)1k(t
)k(i)1k(i
)1k(dt
)1k(di LLL
−+
−+=
+
+
olduğu hatırlansın. Programda boyut taşması problemine dikkat edin!
Soru 3) z=sin(x)*cos(y)
fonksiyonunun [ ]4,0x∈ ve [ ]1,2y −∈ aralığında maksimum olduğu )z,y,x( koordinatlarını
ve minimum olduğu )z,y,x( koordinatlarını bulan matlab programı yazınız.
Soru 4) Seri RL devresinde, iki adet R direnç, bir adet bobin bağlıdır. Bu devre t5.0k e*2)t(I = Amper
değerinde bir akım kaynağı ile beslenmektedir. ohm 2.0R1 = , ohm 4.0R2 = , L= 3 H. 1R direncinin
taşıyabileceği ani güç; W34)t(P1R = , 2R direncinin taşıyabileceği ani güç; W30)t(P
2R = ,
L selfinin taşıyabileceği ani güç ise W50)t(PL = olarak verilmektedir. Devrede akımın akmaya
başladığı anı t=0 sn kabul edilirse, hangi elemanın en önce zarar göreceğini ve zarar görme zamanını
saniye olarak hesaplayan bir matlab programı yazınız. t=0:0.001:2 alınız.
(NOT: Ani güç = P(t)= i(t)*v(t))
Soru 5) A, 6000*6000 boyutunda bir matristir. Bu matris içine bir “kod” sayı saklanmıştır. Bu kod
sayının üstündeki sayı, altındaki sayı, solundaki sayı ve sağındaki sayı aynı olduğunda, bunların
ortasında kalan sayı “kod” olduğuna göre, yazacağınız program ile bu kod sayıyı bulunuz.
Açıklama: kod’un matris içinde nerelere yazılamayacağına dikkat ediniz.
Sınav süresi 80 dakikadır.
Kaynak serbesttir. Masa üstünde dağınık olmayacaktır.
Tüm sorular eşit ağırlıklıdır.
Başarılar dilerim…
www.eemder
snotla
ri.com
U.Arifoğlu
ÇÖZÜM 1) t=0:pi/1000:pi; alan=0;
y=sin(t);
for k=1:length(t)-1
alan=alan+0.5*(y(k+1)+y(k))*(t(k+1)-t(k));
end
alan % aynı sonucu bilgisayarınızda trapz komutu ile deneyiniz!
2) )k(t)1k(t
)k(V)1k(V
)1k(dt
)1k(dV CCC
−+
−+=
+
+= 2)k(i2)k(V5 LC ++
)k(t)1k(t
)k(V)1k(V CC
−+
−+= 2)k(i2)k(V5 LC ++
**************************************************
)1k(VC + = )k(V))k(t)1k(t(*)2)k(i2)k(V5( CLC +−+++ 1. eşitlik
**************************************************
)k(t)1k(t
)k(i)1k(i
)1k(dt
)1k(di LLL
−+−+
=++
= 1)k(i)k(V4 LC ++
)k(t)1k(t
)k(i)1k(i LL
−+−+
= 1)k(i)k(V4 LC ++
**************************************************
)1k(iL + = )k(i))k(t)1k(t(*)1)k(i)k(V4( LLC +−+++ 2. eşitlik
**************************************************
Aşağıda yazılan programda
xVC =
yiL =
alınacaktır.
Yukarıda verilen iki adet eşitlik yardımı ile aşağıdaki program oluşturularak istenilen çıkış değerleri
çizdirilmektedir.
clc t=0:0.001:2;
x=zeros(length(t));
y=zeros(length(t));
a=length(t);
x(1)=1; y(1)=2;
for k=1:a-1 % a’dan 1 çıkarılmaz ise x(k+1)ve y(k+1)’de boyut hatası verir
x(k+1)=(5*x(k)+2*y(k)+2)*(t(k+1)-t(k))+x(k); % 1.eşitlik
y(k+1)=(4*x(k)+y(k)+1)*(t(k+1)-t(k))+y(k); % 2.eşitlik
end
Vct=x;
iLt=y;
subplot(211),plot(t,Vct),subplot(212),plot(t,iLt)
3) clc clear all
x=0:.1:4;y=-2:.1:1;[X,Y]=meshgrid(x,y);Z=sin(X).*cos(Y);
grid,mesh(X,Y,Z); % bu satır ve altındaki satır gerekli değil
xlabel('X'),ylabel('Y'),zlabel('Z');
www.eemder
snotla
ri.com
U.Arifoğlu
% hesaplama başlıyor
disp('Zmax')
Zmax=max(max(Z)) % Z matrisinin en büyük elemanı bulunuyor
[satirZ, sutunZ]=find(Z==max(max(Z))) % Zmax'ın adresi bulunuyor
Xmax=X(satirZ,sutunZ) % Zmax adresindeki X değeri bulunuyor=Xmax
Ymax=Y(satirZ,sutunZ) % Zmax adresindeki Y değeri bulunuyor=Ymax
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
disp('Zmin')
Zmin=max(min(Z)) % Z matrisinin en küçük elemanı bulunuyor
[satirZ, sutunZ]=find(Z==min(min(Z))) % Zmin'in adresi bulunuyor
Xmin=X(satirZ,sutunZ) % Zmin adresindeki X değeri bulunuyor=Xmin
Ymin=Y(satirZ,sutunZ) % Zmin adresindeki Y değeri bulunuyor=Ymin
Not: Bulduğunuz sonuçları bilgisayarınızda elde edeceğiniz şekil üzerinde kontrol ediniz.
4) t=0:0.001:2; t1=0:0.001:(2-0.001); % türev alınırken boyut 1 küçülecek
R1=0.2; R2=0.4; L=3;
akim1=2*exp(0.5*t);
akim=2*exp(0.5*t1);
VR1t= R1*akim;
VR2t= R2*akim;
VLt=L*diff(akim1)./diff(t);
PR1t=akim.*VR1t;
PR2t=akim.*VR2t;
PLt=akim.*VLt;
for k=1:length(t1);
if PR1t(k)>= 34
disp('R1 direnci')
disp(t(k)),disp('saniyede zarar gördü')
break
elseif PR2t(k)>= 30
disp('R2 direnci')
disp(t(k)),disp('saniyede zarar gördü')
break
elseif PLt(k)>= 50
disp('L selfi')
disp(t(k)),disp('saniyede zarar gördü')
break
end
end
5) A=[....] % 6000*6000 boyutunda içinde kod saklanan bir matris girildi for k=2:6000-1 % satır 1 den başlayamaz zira kodunda üstünde bir sayı olmalı
for m=2:6000-1 % sütün 6000 olamaz zira üstünde bir sayı olmalı
if A(k-1,m)==A(k+1,m) & A(k,m-1)==A(k,m+1) & A(k-1,m)==A(k,m+1)
kod=A(k,m)
else
end
end
end www.eemder
snotla
ri.com
Uğur Arifoğlu 31.03.2010 SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI
Şekil 1
S1) Şekil 1’de verilen (Dijital-analog çevirici-DAC) devresinde, )vR
Rv
R
Rv
R
Rv
R
R(v 4
4
f3
3
f2
2
f1
1
fo +++−=
eşitliği geçerlidir. =fR 5k, =1R 5k, =2R 10k, =3R 20k, =4R 40k değerini almaktadır. Giriş uçlarına uygulanan giriş ikili (binary)
kod değerleri [ ]4321 vvvv ; [ ]0000 , [ ]0001 , [ ]0010 , [ ]0011 , [ ]0100 , [ ]0101 için ov çıkış ucunda elde edilen analog gerilim
değerlerini çizdiren bir matlab programı yazınız. Not: Giriş terminallerinden, t=0 için ilk v vektörlerinin tüm elemanları, t=1 için ikinci v vektörünün tüm elemanları… t=5 için son v vektörünün tüm elemanları şeklinde ikili kodlar uygulanmaktadır. Çizim t=0:1:5 sn için
yapılacaktır. Her bir binary vektörünün ilk elemanı 1v ,ikincisi 2v ,üçüncüsü 3v ,dördüncüsü 4v değerini gösterir.
S2)
=
1m
21
11
a
..
a
a
A ; [ ]n11211 b...bbB = ; C=A*B ⇒
=
mn2m1m
n22221
n11211
c..cc
........
c...cc
c..cc
C
olduğuna göre, elemanları bilinen (command window ortamında tanımlı) A ve B vektörlerinin, çarpımlarından elde edilen C matrisinin elemanlarını yalnızca iç içe for döngüleri yardımı ile bulan bir matlab programını yazınız.
S3)
Şekil 2
Şekil 2’de verilen türev alıcı devrede dt
)t(dvCR)t(v s
fo −= ilişkisi geçerlidir. Ω= k6R f , C=1 Fµ . )t*50*pi*2sin(*5)t(vs =
alınız. t=0 : 0.00001 : 6 için )t(io değişimini bulunuz. subplot komutu yardımı ile )t(v),t(v os ve )t(io değişimlerini alt alta çizdiren
matlab programını yazınız. Not: OPAMP, çıkış gerilimi besleme gerilimini aştığında çıkışı kırpan bir özelliğe sahiptir, unutmayınız. Besleme gerilimi verilen devre için +8 V ile -8 V arasındadır.
S4) Şekil 3’de gösterilen s(t) konum eğrisinin t= 0: 0.001: 0.2 saniye aralığında sahip olduğu tüm minimum noktaların değer ve zamanını bulan matlab programını yazınız. s(t)= 20+(sin(2*pi*50*t))*20*exp(-4*t) metre
Şekil 3
S5)
Maclaurin(....x!3
)2r)(1r(rx
!2
)1r(rrx1)x1(
terim.nterim_üçüncü
3
terim_ikinci
2terim_birinci
r +−−
+−
++=+
44 844 7648476
serisi)
Öyle bir matlab programı yazınız ki; klavye ile girilen x ve r değerleri için serinin kaçıncı terimimin bu eşitliği sağladığını ve bu eşitliğin
değerini bulsun. Not: 1x ≤ rasyonel sayı, ve r: pozitif sayma sayısıdır.
Tüm cevaplarda derste gelinen yere kadar öğretilen matlab komutları kullanılacak daha sonra öğretilecek konu ve komutlar kullanılmayacaktır. Aksi durumda ilgili cevaptan not verilmeyecektir. Yalnızca kitap açıktır. Sınav süresi 110 dakikadır. Soru kağıtları öğrencide kalacaktır. Cevaplar web sitemde ilan edilecektir.
www.eemder
snotla
ri.com
Uğur Arifoğlu 31.03.2010
ÇÖZÜMLER Cevap 1)
t=0:1:5; vo=zeros(1,6); Rf=5; R=[5 10 20 40]; A=[0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1]; for m=1:1:6 for n=1:4 vo(m)=vo(m)+A(m,n)*Rf/R(n); end end plot(t,-vo)
Cevap 2)
A=rand(5,1),B=rand(1,6) C=zeros(5,6); for m=1:5 for n=1:6 C(m,n)=C(m,n)+A(m,1)*B(1,n); % A ve B vektör olduğundan sağdaki C(m,n) % kaldırılsa da program doğru sonuç verecektir end end C
Cevap 3)
[w,t] = gensig('sin',0.02,0.06,0.00001); L=10*10^-3; vs=5*w; subplot(311),plot(t,vs,'k-') vo=(-6000*1*10^-6)*diff(vs)./diff(t); for k=1:length(t)-1 if vo(k)>=8 vo(k)=8; end if vo(k)<=-8 vo(k)=-8; end end subplot(312),plot(t(1:end-1),vo) io=(1/L)*cumtrapz(t(1:end-1),vo);subplot(313),plot(t(1:end-1),io)
Cevap 4)
t=0:0.0001:0.2; s=20+(sin(2*pi*50*t)).*(20*exp(-4*t)); plot(t,s) turev=diff(s)./diff(t); % türev alınıyor td=t(2:length(t)); % boyutu (n-1) dir (geri fark alınıyor) carpim=turev(1:length(turev)-1).*turev(2:length(turev)); % iki eğrinin çarpımının işaret değiştirdiği yerler bulunuyor a=find(carpim<0); %kritik zamanların sıra numaraları say=0; for m=1:length(a) s(a(m)); % kritik_yükseklikler (tüm max. ve min. noktalar) td(a(m)); % tüm kritik zamanlar if s(a(m))<20 % max ve min değerler ayıklanıyor say=say+1; % sadece uygun olanlar sayılıyor disp(say),disp('inci minimum noktaya'), disp(s(a(m))),disp('metrede') disp(td(a(m))),disp('saniyede ulaşılmaktadır') end end
Not: Şekle bakıldığında 20 metrenin üstündeki kritik noktalar max.,altındakiler ise min.oluyor.
www.eemder
snotla
ri.com
Uğur Arifoğlu 31.03.2010 Cevap 5)
clc clear all x=input('mutlak değeri 1’e eşit veya 1’den bir küçük rasyonel sayı giriniz') r=input('pozitif bir sayma sayısı giriniz') disp('elde edilecek sayı değeri'), A1=(1+x)^r A=1; for k=1:r A=A+factorial(r)*(x^k)/(factorial(r-k)*factorial(k)); end disp('elde edilen sayı değeri') A disp('terim sayısı') k
www.eemder
snotla
ri.com
U.Arifoğlu (22/07/2011)
SAÜ. MÜH. FAK. ELK. ELN. MÜH. BÖL.
SAYISAL ANALİZ YAZ OKULU VİZE SINAV SORULARI
Soru 1) Bir elektrik devresinde i(t) devre akımı deney ile ölçülerek “aşırı sönümlü” formda elde edilmiştir.
Akım denklemi ise; t5
2t2
1 eAeA50)t(i olarak verilmektedir. ölçülerek bulunan i(t) akımının
0.2 sn.de aldığı değeri kullanarak, i(t) akım ifadesinde yer alan 21 A veA katsayılarını bulan bir
matlab yazılımı bulunuz. Döngü durdurma toleransını 0.001 alınız. Her iki katsayının, 36 dan küçük
pozitif “tam sayı” olduğu bilinmektedir. ( i(t) akımının deney ölçüm sonuçları akim adlı vektör içinde
saklanmaktadır).
Soru 2) t5t2 e6e350)t(i
akım ifadesi t=0:0.01:5 aralığında değişmektedir. i(t) eğrisine en yakın (en az hata ile
uyduracağınız) 3., 4.,5. Mertebeden polinomlardan hangisinin daha doğru olduğunu yazdıran (disp
komutu kullanarak) bir matlab programı yazınız. Uydurulan bu “en uygun polinom” ile i(t) eğrisini
aynı eksen üzerine üst üste çizdiriniz.
Soru 3)
Şekil 1
a) Şekil 1’de verilen eğri entegral alıcı bir OPAMP’ın girişine uygulanmaktadır. OPAMP çıkışına C=0.1 F
değerinde bir kapasite paralel bağlandığına göre, kapasite akım değişimini (tercih ettiğiniz bir yaklaşım
ile) bulunuz. OPAMP girişi, OPAMP çıkışı ve kapasite akımını ayrı “figure” pencerelerinde
çizdiriniz. Yatay eksen saniyedir. Δt=0.01 sn alınız.
b) Kapasiteye paralel olarak bağlanan ve rms değer ölçen bir voltmetre kaç volt gösterir.
Soru 4) t3t20 e18e4)5.0tsin(3)t(f
fonksiyonunun belirlediği rota üzerinde uçan bir uçağın, rotanın aldığı tüm kritik değerler (eğer, büküm,
max, , min. noktaları) içinde yer alan “en büyük kritik değer” ile “en küçük kritik değer” arasındaki
mesafeyi kaç saniyede aldığını gösteren bir matlab yazılımı yazınız. t=1:0.01:6; alınız.
Not baremi: 1- 25 2-25 3- 12.5/12.5 4- 25
Sınav süresi 90 dakikadır.
Yalnızca kitap açıktır. Eski sınav soru ve çözümleri dahil her türlü not kapalıdır.
Çözümler abis’ de ilan edilecektir.
www.eemder
snotla
ri.com
U.Arifoğlu (22/07/2011)
CEVAPLAR
1)
% aşağıdaki deger, akim adlı ölçüm sonuçlarının “0.2” sn. deki değerini bulmaktadır. deger=50+3*exp(-2*0.2)+6*exp(-5*0.2);% bu fonksiyonu bilmiyoruz
% ama aldığı tüm değerleri (ölçtüğümüz için) biliyoruz top=0; for k=0:35 for m=0:35 top=50+k*exp(-2*0.2)+m*exp(-5*0.2); if abs(top-deger)<0.001 A1=k A2=m break else end end end
% program çalıştığında 3 ve 6 katsayılarını bulmalıdır.
2)
clear all t=0:0.01:5; deger=50+3*exp(-2*t)+6*exp(-5*t); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% a=polyfit(t,deger,3); a1=polyval(a,t); hata1=deger-a1; OKH1=mean(hata1.^2); KOKH3=sqrt(OKH1) %%%%%%%%%%%%%%%%%% b=polyfit(t,deger,4); b1=polyval(b,t); hata2=deger-b1; OKH2=mean(hata2.^2); KOKH4=sqrt(OKH2) %%%%%%%%%%%%%%%%%%%%%%%% c=polyfit(t,deger,5); c1=polyval(c,t); hata3=deger-c1; OKH3=mean(hata3.^2); KOKH5=sqrt(OKH3) %%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%% if KOKH5>KOKH3 & KOKH5>KOKH4 disp('5. mertebeden eğri uydurma en iyisidir') hold on, plot(t,deger),plot(t,c1) elseif KOKH4>KOKH5 & KOKH4>KOKH3 disp('4. mertebeden eğri uydurma en iyisidir') hold on, plot(t,deger),plot(t,b1) elseif KOKH3>KOKH5 & KOKH3>KOKH4 disp('3. mertebeden eğri uydurma en iyisidir') hold on, plot(t,deger),plot(t,c1) end
3) clear all t=0:0.01:10; gerilim=zeros(1,length(t));
www.eemder
snotla
ri.com
U.Arifoğlu (22/07/2011)
for k=1:length(t) if t(k)<=1 gerilim(k)=10; elseif 1.5<= t(k) & 3>=t(k) gerilim(k)=10; elseif 4<= t(k) & 5>=t(k) gerilim(k)=10; elseif 5<= t(k) & 6>=t(k) gerilim(k)=-10; elseif 6.5<= t(k) & 8>=t(k) gerilim(k)=-10; elseif 9<= t(k) & 10>=t(k) gerilim(k)=-10; end end figure(1) plot(t,gerilim),grid on,title('opamp girişi') cikis=cumtrapz(t,gerilim); figure(2) plot(t,cikis),grid on,title('opamp çıkışı') C=0.1; akim=C*diff(gerilim)./diff(t); figure(3) plot(t(2:end),akim),grid on,title('kapasite akımı') % geri fark yöntemi ile voltmetre= sqrt(mean(cikis.^2))
4) clc t=1:0.01:6; m=-4*exp(-20*t)+18*exp(-3*t)+3*sin(t-0.5); tt=diff(m)./diff(t); v=tt(1:end-1); k=tt(2:end); s=v.*k; a=find(s<0); plot(t,m) t(max(a)); t(min(a)); farkt=t(max(a))-t(min(a))
5)
www.eemder
snotla
ri.com
U.Arifoğlu 12/07/2012
SAÜ. MÜH. FAK. ELK. ELN. MÜH. BÖLÜMÜ
SAYISAL ANALİZ YAZ OKULU VİZE SINAV SORULARI
Soru 1) Bir elektrikli cihazın uçlarındaki ani gerilim değeri (v(t)) ve içinden geçen ani akım (i(t)) değeri bir periyod (T) boyunca
ölçülmüştür. Bu değerler matlab command window ortamına; v=[…] ve akim=[…..] vektörleri olarak
kaydedilmiştir. Wattmetrenin ölçtüğü değer;
∫ ( ) ( )
(watt)
olduğuna göre, cihazın görünür gücü;
22etkinetkin QPI*VS (VAr)-Volt Amper Reaktif (Q; reaktif gücü göstermektedir)
olduğuna göre, herhangi bir değişkenin etkin değeri ise;
dt)t(AT
1A
T
0
2etkin
olduğuna göre, kompleks güç;
jQPSkompleks (kompleks güç)
formülü ile hesaplandığından, bu cihaza ilişkin kompleks güç fazörünü çizdiren matlab program satırlarını yazınız.
Soru 2) A=[ -2 3 4; -130 1 -2; 200 10 2];
matrisinde tüm değerler polinom katsayısı olduğuna göre, birinci satır ile birinci sütun dan elde edilen ikinci dereceden
iki adet eğrinin kesişip kesişmediğini kontrol eden, kesişiyorlar ise ekrana "birinci eğriler kesişmektedir" yazdıran,aksi
halde ekrana "birinci eğriler kesişmemektedir" yazdıran ve bu işlemi her üç satır ve üç sütun için de tekrarlayan matlab
programı yazınız. Not: İki eğri kesişmiyor ise kesişim değerleri kompleks sayı olur. Kesişim var ise "iki" noktada
olabileceği gibi "tek" noktada da olabilir.
.
Soru 3)
Yukarıda verilen f(t) değişiminin [0 15] sn aralığında aldığı değerler F adlı vektör içinde matlab ortamında
tanımlanmıştır. F vektörünün eleman sayısı 1000 dir. 1000 adet değer [0 15] sn aralığında ölçülmüştür. A>C>D>B
olduğuna göre;
a) f(t) değişimine ilişkin A, B, C, D değerlerini bulan matlab programını yazınız.
b) t(A), t(B), t(C), t(D) değerlerini sn olarak bulan matlab programını yazınız.
not: f(t) değişiminin B,C ve D değerlerini [0 15] sn aralığında birden çok kere alabileceğini unutmayınız.
Soru 4) a) Sıfır (dahil) ile 1000 (dahil) sayıları arasında rasgele 10000 adet tam sayı üreten bir matlab programı yazınız.
b) Eleman değerleri birbirlerinden farklı reel 100 elemanlı bir sayı dizisinin en büyük değerli 10 ve en küçük değerli 8
adet elemanını silerek geri kalan dizi elemanlarının orta değerini bulan matlab programını yazınız.
Soru 5) Kutupsal gösterimden yaralanarak; z=z+(1/z) dönüşümünün |z|=1 çemberini x-ekseni üzerindeki hangi [a b] aralığına
resmettiğini bulunuz.
ÖNEMLİ NOT: Bölüm 8'kadar öğretilen matlab komutları kullanılacaktır. Aksi halde ilgili cevap için puan
verilmeyecektir.
Not baremi: 1- 20 2- 20 3- 20 4- 20 5-20
Sınav süresi 90 dakikadır.
Yalnızca kitap açıktır. Eski sınav soru ve çözümleri dahil her türlü not kapalıdır.
Çözümler Obis’ de ilan edilecektir.
15
f(t )
D C A
B B
t (sn)
www.eemder
snotla
ri.com
U.Arifoğlu 12/07/2012
CEVAPLAR
1) v=[ ]; akim=[ ];
P=mean(v.*akim);
Vetkin=sqrt(mean(v.^2));
akimetkin=sqrt(mean(akim.^2));
S=Vetkin*akimetkin;
Q=sqrt(S^2-P^2);
Skompleks=P+j*Q;
compass(Skompleks)
2) A=[ -2 3 4; -130 1 -2; 200 10 2]; for k=1:3
M=roots([A(k,:)-A(:,k)']); % kökler kaç tane
if length(M)==1 % kök sayısı 1 tane ise
if imag(M(1))~=0
disp(k),disp(' inci doğru kesişmemektedir')
else
disp(k),disp(' inci doğru kesişmektedir')
end
elseif length(M)==2 % kök sayısı 2 tane ise
if imag(M(1))~=0 || imag(M(2))~=0
disp(k),disp(' inci doğru kesişmemektedir')
else
disp(k),disp(' inci doğru kesişmektedir')
end
end
end
3) F=[…..]; % 1000 adet ölçüm elemanı barındırmaktadır
t=linspace(0,15,1000);
[A b] = max(F); % A değeri bulundu
F1=F(b:end);
t_A=t(b); % t(A) değeri bulundu
[B c] = min(F1); % B değeri bulundu
F2=F(b+c:end);
t_B=t(b+c-1); % t(B) değeri bulundu
[C d] = max(F2); % C değeri bulundu
t_C=t(b+c+d-1); % t(C) değeri bulundu
[D e] = min(F2); % D değeri bulundu
t_D=t(b+c+e-1); % t(D) değeri bulundu
4) a) for k=1:10000
a=0 ;b=1000;
A1=min(a:b);
A2=b-a;
s2=round(A1+rand*A2)
end
b) A=[ …..]; % 100 elemanlı vektör B= sort(A,'descend'); % Büyükten küçüğe sıralama yapıldı
M=[B(11:end-8)];
aranan_deger=median(M);
5) z=x+iy;
z=z+(1/z) = x+iy +(1/(x+iy)= x2)yx
yy(i
yx
xx
1
22
1
22
"z=2x" sonucu bize yeni dönüşümde eski dönüşümün x değer aralığının 2 katı aralık alınması gerektiğini söylemektedir. Buna
göre |z|=1 çemberinde x aralığı [-1 1] olduğuna göre yeni dönüşümde bu aralık 2 katına çıkarılmalı diğer bir ifade ile [-2 2]
olmalıdır.
www.eemder
snotla
ri.com
U.Arifoğlu - G.Çetinel 28.03.2012
SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALİZ VİZE SINAV SORULARI
S1) Bir A matrisinde bir "a" sayısının üstündeki ve solundaki sayı eşit ise "a" sayısını bulun. Daha sonra aynı matriste bir "b" sayısının sağ
tarafındaki sayı ile alt tarafındaki sayı eşit ise "b" sayısını bulun. Daha sonra "a" ve "b" sayılarını kök kabul eden polinomu t=0:0.01:5
aralığında çizdirin. Eğer aranılan şartlarda bir "a" veya bir "b" sayısı bulunamıyor ise ekrana "bu problem çözülemez" ifadesini yazdırın.
S2) Wattmetre; gücü ölçülecek cihazın ani akım ile ani geriliminin (gerilim ve akımın sinüs formunda olmasına ihtiyaç yoktur) çarpımının bir
periyot boyunca ortalamasını alır. Reaktif güç ölçen VAr metre ise, sinüs formundaki akım ve gerilimin etkin değerleri ile gerilim ve akım
arasındaki faz farkının sinüs değerinin çarpılması ile elde edilir (Q=V*I*sin )(*I*V iv ). Bir yükün çektiği akımın bir periyot
boyunca ölçülen ani değerleri "akim" adlı vektöre, yükün uçları arasındaki gerilimin ani değerleri ise "gerilim" adlı vektöre kaydedildiğine
göre (akım ve gerilim değişiminin sinüzoidal olduğu kabulü ile), a) bu yükün uçlarına bağlı wattmetre, b) VAr metrenin ölçeceği değerleri
bulan matlab programını yazınız. Not: t=0:0.000001:0.02 alınız (bir periyot). "Faz farkı", ani değerlerden yola çıkılarak elde
edilecektir, ezbere faz farkı yazılmayacaktır. ( a) 5 puan, b) 15 puan).
S3) Şekil 1'de verilen görüntüyü; plot, length, linspace, hold on, text komutlarını kullanarak çizdiren matlab programını yazınız.
Şekil 1
Tüm cevaplarda derste gelinen yere kadar öğretilen matlab komutları kullanılacak daha sonra öğretilecek konu ve
komutlar kullanılmayacaktır. Aksi durumda ilgili cevaptan not verilmeyecektir.
Yalnızca kitap açıktır. Sınav süresi 110 dakikadır. Soru kağıtları öğrencide kalacaktır. Cevaplar Obis sistemde ilan edilecektir.
ÇÖZÜMLER Cevap 1)
clear all
a=[]; b=[];
A=[ 7 0 3 1 2
6 1 5 5 9
0 2 3 2 1
0 1 0 1 6];
[m n]=size(A);
for k=2:m % a; 1. satırda olamaz
for r=2:n % a; 1.sütunda olamaz
if A(k,r-1)==A(k-1,r)
a=A(k,r);
end
end
end
for w=1:m-1 % b; m. satırda olamaz
for h=1:n-1 % b; m. sütunda olamaz
if A(w+1,h)==A(w,h+1)
b=A(w,h);
end
end
end
if length(a)~=0 && length(b)~=0 % aramada A matrisinde a veya b olmayabilir
y=poly([a b]);
t=0:0.01:5;
x=polyval(y,t);
plot(t,x)
else
disp('problemin çözümü yoktur')
end
www.eemder
snotla
ri.com
U.Arifoğlu - G.Çetinel 28.03.2012
Cevap 2) t=0:0.000001:0.02;
akim=10*sin(2*pi*50*t);
gerilim=20*sin(2*pi*50*t-pi/3);
P=mean(akim.*gerilim) % aktif güç ölçülüyor
aa=find(akim==max(akim));
bb=find(gerilim==max(gerilim));
t1=t(aa); % gerilimin tepe değeri ile akımın tepe değeri arasındaki farktan
t2=t(bb); % faz farkı (saniye olarak) bulunmaya çalışılıyor
fazfarki=(t2-t1)% saniye
f=1/0.02; % frekans bulunuyor
fazfarki=fazfarki*2*pi*f;% faz farkı sn den radyana çevriliyor
akimrms=sqrt(mean(akim.^2)); % akımın etkin değeri
gerilimrms=sqrt(mean(gerilim.^2)); % gerilimin etkin değeri
Q=akimrms*gerilimrms*sin(fazfarki) % reaktif güç ölçülüyor
Cevap 3) clear all
hold on
x=0:0.1:5;
y=linspace(0,5,length(x));
plot(x,y)
u=5:0.1:13;
w=linspace(5,5,length(u));
plot(u,w)
t=8:0.1:13;
k=linspace(0,5,length(t));
plot(t,k)
m=0:0.1:8;
n=linspace(0,0,length(m));
plot(m,n)
text(0.4,0.3,'A(0,0)'),text(8.4,0.3,'B(0,8)')
text(5,4.8,'C(5,5)'),text(11,4.8,'D(13,5)')
www.eemder
snotla
ri.com
U.Arifoğlu - Ö.Özkan 11.04.2013
SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL.
SAYISAL ANALİZ VİZE SINAV SORULARI
S1) Elimizde 500 adet (a,b) olarak verilmiş noktalar bulunmaktadır. Bu ikiliden ilki zamanı, ikincisi ise akımın o t anındaki ani
değerini göstermektedir. 500 adet "a" değeri zaman adlı vektöre, 500 adet "b" değeri ise akim adlı vektöre atansın ve bunlar
matlab workspace ortamında saklansın.
a) akim değişiminin lineer (doğrusal) olup olmadığını araştıran matlab kodlarını yazınız. (Lineer denklemin bir tek eğimi,
lineer olmayan denklemin ise bir çok eğimi vardır). (15 puan) b) akim in doğru akım mı yoksa alternatif akım mı olduğunu araştıran kodları yazınız. (Değişken doğru akım olabileceğini
unutmayınız!). Sonuç hangi tip akım ise disp komutu ile ekrana yazdırılacaktır. (Tüm elemanları eksi ya da tüm elemanları
artı olan doğru akım da olabileceğini unutmayınız). (15 puan)
S2) Bir elektrik devresinde kapasite içinden geçen akımın zamana bağlı değişimi;
( )
denklemi ile verilmektedir. Kapasitenin "kapasitans" değeri C= 2 Farad olduğuna göre, t=0:0.001:3 sn aralığında;
a) Kapasite geriliminin zamana bağlı değişimini çizdiren matlab kodlarını yazınız. ( ( ) ) b) Kapasitenin uçları arasına bağlanan doğru gerilim voltmetresinin göstereceği değeri bulan matlab kodlarını yazınız.
c) Kapasitenin uçları arasına bağlanan alternatif gerilim voltmetresinin göstereceği değeri bulan matlab kodlarını yazınız.
d) Kapasite akımının en düşük değerini aldığı "t" anında kapasite geriliminin aldığı ani değeri bulan matlab kodlarını yazınız.
e) Kapasitenin harcadığı ani güç değerinin (p(t)= ( ) ( )) en yüksek olduğu değeri ve bu değere ulaşıldığı "t" anını
bulunuz.
Not: ( )
∫ ( )
(Yukarıdaki tüm işlemler verilen zaman aralığı boyunca yapılacaktır) (Her şık 5 puan)
S3) En fazla 4. dereceden olan polinomların katsayıları input komutu ile klavye yardımı ile girilecek ve bunlar bir matrisin
elemanları olarak alt alta kaydedilecektir (4. dereceden bir polinomun "5" adet katsayı içereceği hatırlansın). İlk polinomın
katsayıları matrisin ilk satırına,son polinomun katsayıları matrisin son satırına kaydedilecektir. Program, en fazla 10 adet polinom
katsayılarını kaydedecek, bunun üstündeki polinom taleplerini kabul etmeyecek ve nedeni ekrana yazı ile kullanıcıya bildirecektir.
Polinomun tüm katsayıları (dördüncü derecenin katsayısından başlayarak en düşüğe doğru) klavye ile girilecektir (polinom
dördüncü dereceden değilse bu katsayı sıfır girilecektir). Örneğin; ekranda şu soru görülecektir: 1. polinomun 1. katsayısını
giriniz, ........, 1. polinomun 5. katsayısını giriniz, ..... ,6. polinomun 3. katsayısını giriniz,....(vb). Kaç adet polinomun
kaydedileceği kullanıcıya ekranda sorulacak, eğer bu sayı 10 dan büyük ise ekrana "en fazla 10 adet polinom tanıtılabilir" uyarı
yazısı gelecek ve 10 adet siparişi alınmış gibi program çalışmaya başlayacaktır. Bu sayı 10'a eşit veya küçük olmalıdır. Kullanıcı,
girilecek olan polinomun 4. dereceden yüksek olmaması konusunda ekrandan uyarılacak, eğer bu uyarı yerine getirilmez ise
"error" komutu ile program durdurulacak ve ekrana "gerekli uyarıya uymadığınız için program durdurulmuştur "
yazdırılacaktır. Oluşturulacak matrisin örneğin (1,1) elemanı: 1. polinomum 4. derece (4t ) katsayısı olacak, (1,5) elemanı: 1.
polinomum sabit katsayısı (0t ) olacak, matrisin (2,3) elemanı: 2. polinomum 2. derece (
2t ) katsayısı olacak, matrisin (10,1)
elemanı: 10. polinomum 4. derece katsayısı olacaktır. Yazılacak matlab kodlarında son satır elde edilen matrisi ekrana
yazdıracaktır.
Not: Matris elemanlarında, satırlarda sağ tarafa doğru gidildikçe, polinomun daha düşük dereceli katsayılarının görüleceği
unutulmamalıdır. (25 puan)
S4) z=64i eşitliğinin 3. dereceden köklerini bulunuz ve x-y koordinat sisteminde yerlerini gösteriniz. (10 puan)
S5)
ilişkisinin tayin ettiği bölgeyi x-y koordinat sisteminde elde ediniz. (10 puan)
Tüm cevaplarda derste gelinen yere kadar öğretilen matlab komutları kullanılacak daha sonra öğretilecek konu ve
komutlar kullanılmayacaktır. Aksi durumda ilgili cevaptan not verilmeyecektir.
Yalnızca kitap açıktır. Sınav süresi 110 dakikadır. Soru kağıtları öğrencide kalacaktır. Cevaplar Obis sisteminde ilan edilecektir.
www.eemder
snotla
ri.com
U.Arifoğlu - Ö.Özkan 11.04.2013
ÇÖZÜMLER
1) a) zaman =[0 1 2 3 4 5 6]; % sayılar örnek olarak verilmiştir akim = [2 4 6 8 10 12 14];% sayılar örnek olarak verilmiştir
boyut=length(zaman);
say=1;
for k=2:boyut
egim(k-1)=(akim(k)-akim(k-1))/(zaman(k)-zaman(k-1));
end
for kk=2:boyut-1
if egim(kk)== egim(kk-1); % eğimlerin eşitliği kontrol ediliyor
say=say+1;
else
end
end
if say == boyut-1
disp('değişim lineerdir')
else
disp('değişim lineer değildir')
end
b) sayda=0;
saydam=0;
for k=1:boyut
if akim(k)>=0
sayda=sayda+1;
elseif akim(k)<=0
saydam=saydam+1;
end
end
if sayda == boyut || saydam == boyut
disp('akım; doğru akımdır')
else
disp('akim; alternatif akımdır')
end
2) clc
clear all
C=2;
t=0:0.001:3;
T=t(end);
kapakim=1.041*t.^4-8.231*t.^3+23.52*t.^2-27.84*t+9.459; % -14*exp(-t)+24*exp(-
2*t);
a=[1.041 -8.231 23.52 -27.84 9.459];
b=(1/C)*polyint(a);
kapgerilim=b(1)*t.^5+b(2)*t.^4+b(3)*t.^3+b(4)*t.^2+b(5)*t+b(6); % kapasite gerilimi
a) plot(t,kapgerilim) % kapasite gerilimi çizdiriliyor
b)kapgerort=mean(kapgerilim);
disp('doğru gerilim voltmetresi')
disp(kapgerort)
c) kapgeretkin=sqrt(mean(kapgerilim.^2));
disp('alternatif gerilim voltmetresi')
disp(kapgeretkin)
d) [s1 s2]=min(kapakim);
disp('akımın minimum olduğu t anında kapasite gerilim değeri')
disp(kapgerilim(s2))
e) aniguc=kapakim.*kapgerilim;
[anigucmax s4]=max(aniguc);
disp('ani gücün max olduğu değer')
disp(anigucmax)
disp('ani gücün max olduğu zaman')
disp(t(s4))
www.eemder
snotla
ri.com
U.Arifoğlu - Ö.Özkan 11.04.2013
3)
polsay=input('kaç adet polinom tanıtılacak? ' );
if polsay>10
disp('en fazla 10 adet polinom tanıtılabilir')
polsay=10;
else
end
warning('en fazla 4.dereceden polinom girilebilir aksi halde program
durdurulacaktır')
for k=1:polsay
disp(k), disp('inci polinomun en yüksek derecesini giriniz')
a1=input(' ');
if a1>4
error('gerekli uyarıya uymadığınız için program durdurulmuştur')
else
end
disp(' ')
disp('4. dereceden başlayarak katsayıları giriniz'),disp(' ')
for kk=5:-1:1
disp(kk-1), disp('inci derecenin katsayısını giriniz'),disp(' ')
matris(k,6-kk)=input(' ');
end
end
matris
4. | | ( )
ğ
√
√
(
) (
)
(
) (
)]; k=0,1,2
(
) (
√
) √
(
) (
) (
)
( √
) √
[ (
) (
)] (
)
( )
www.eemder
snotla
ri.com
U.Arifoğlu - Ö.Özkan 11.04.2013
5.
( ) ( )
( ) ( ) Merkezi (2,2); rad. 2√ olan daire denklemi
( ) ( )
( ) ( ) Merkezi (1,1); rad. √ olan daire denklemi
www.eemder
snotla
ri.com