08.04.2006 SAÜ MÜH.FAK.ELK-ELN. MÜH.BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI ve ÇÖZÜMLERĐ
m
S1) f1 ( x, y) = 2 sin x + 2e y -1
f 2 ( x , y) = x 2 + x − y 3 − y − 2 denklem sisteminde, x (0) = 0 ; y (0) = 0 başlangıç koşulları altında;
ri. co
a) denklem sistemini Newton Raphson yaklaşımını kullanarak birinci iterasyon adımı sonundaki x (1) ve
y (1) değerlerini elle hesaplayarak bulunuz.
b) denklem sistemini Gauss-Seidel yaklaşımını kullanarak birinci iterasyon adımı sonundaki x (1) ve
A
tla
y (1) 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.
i 3 (t)
B
C
m de r
E=10 volt
i 2 (t )
sn o
i1 ( t )
Ş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:
v A = 2i13 + 4 ⇒
v A : A direncine ilişkin uç gerilimi i1 : A direncine ilişkin akım
v B = 2i 23 + 1 ⇒
v B : B direncine ilişkin uç gerilimi i 2 : B direncine ilişkin akım
v C = 2i 33 + 2 ⇒
.e e
v C : C direncine ilişkin uç gerilimi i3 : C direncine ilişkin akım i1 , i 2 ve i 3 akımlarını bulunuz.
w
w
w
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.
08.04.2006 Cevap 1) a) x (0) = 0 ; y (0) = 0 A= f1(0) ( x (0) , y (0) ) = 2 sin x (0) + 2e y(0) -1=2*0+2*1-1=1
m
B= f 2 (0) ( x (0) , y (0) ) = ( x (0) ) 2 + x (0) − ( y (0) )3 − y (0) − 2 =-2
tla
ri. co
A 1 − J ( x (0) , y (0) )∆X (0) = F( x (0) , y (0) ) = = B − 2 ∂f1 ∂f1 (0) ∂y y = x ( 0) 2 cos( x (0) ) ∂x x = x (0) 2e y = 2 2 J= = 2 1 − 1 ∂ ∂ f f 2 2 2x (0) + 1 − 3y (0) − 1 ∂x x = x (0) ∂y y = y (0) 0 0.25 0.5 1 X (1) = X (0) + ∆X (0) = X (1) = X (0) − J −1 * F( x (0) , y (0) ) = − 0 0.25 − 0.5 − 2 − 0.75 X (1) = 1.25
b) Gauss Seidal yöntemi lineer olmayan denklem sistemlerine uygulanamaz.
sn o
Cevap 2) Verilen devreye Kirchhoff gerilim ve akım yasası uygulanır ise; 10 = 2i13 ( t ) + 4 + 2i 2 3 ( t ) + 1
v B ( t ) = 2i 23 ( t ) + 1 = 2i33 ( t ) + 2 = v C ( t ) i1 ( t ) = i 2 ( t ) + i 3 ( t )
m de r
>> x0=[0,0,0]; >> [xdeger,fonkdeger,kontrol]=fsolve('vize_2006',x0)
('enter') ('enter')
w
w
w
.e e
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');
08.04.2006
tla
ri. co
m
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
w
w
w
.e e
m de r
sn o
end
SAYISAL ANALĐZ YAZ OKULU VĐZE SINAV SORULARI
(17/07/2006)
Soru 1)
L V(t)
i(t)
Şekil 1
ri. co
I max
R
m
i(t)
k
t
Şekil 2
tla
Ş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; V i(t)= m sin(2 * π * f * t − ϕ) + Ae− t / τ Amper Z 2 * π * 50 * L ) ; τ = L / R sn ; Z=|R+j*2*Π *50*L| ohm; f=50 Hz; t=0:0.00001:20* 10−3 sn ϕ = tan −1( R
sn o
1 T2 1 T ∫ i ( t )dt ; I ort = ∫ i( t )dt T t =0 T t =0 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, I max değeri, i(t) akımının etkin ve ortalama değerleri değişmektedir. Aşağıda verilen 3 farklı Vm , 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.
m de r
V ( t ) = Vm sin( 2 * π * 50 * t ) Volt; I etkin =
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. Vm = 240 * sqrt (2); R = 10; L = 0.1; A = 9.81 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.
.e e
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.
w
w
w
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 V polinom şeklinde denklemini oluşturunuz. Kısaca, i(t)= m sin(2 * π * f * t − ϕ) + Ae− t / τ formunda değil, Z
i( t ) = as14 + bs13 + cs12 + ds11 + ..... + ks + m 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
SAYISAL ANALĐZ YAZ OKULU VĐZE SINAV CEVAPLARI
sn o
tla
ri. co
m
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
.e e
m de r
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)
w
w
w
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]; fi=atan(2*pi*50*L./R); Z=abs(R+j*2*pi*50*L);
L=[0.14];
A=[9];
w
w
w
.e e
m de r
sn o
tla
m
ri. co
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
Uğur Arifoğlu
08.04.2007 SAÜ MÜH.FAK.ELK-ELN. MÜH.BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI
A
E1 = 10V
-
1Ω
+
+
L=2H
VL ( t )
m
S1)
Şekil 1
VL ( t ) = Vson + (Vilk − Vson )e− t / τ ifadesi ile
ri. co
Şekil 1’de verilen devrede bobinin uçları arasındaki gerilim değeri,
değişmektedir. Vson = 0, Vilk = 10V, τ = L / R = 2 / 1 = 2 sn 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) VL ( t ) 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 VL ( t = 4) değerini
f) VL,etkin =
tla
bulunuz. d) t=0:10 saniye aralığında bobin geriliminin alabileceği maksimum gerilim değerini bulan matlab komutu üretiniz. e) VL ( t ) ’nin 9 Volt dan 3 Volt’ a kadar düşmesi kaç saniye sürmüştür?.
1T 2 ∫ VL ( t ) * dt olduğuna göre, bobinin uçları arasındaki gerilimin etkin değerini T=10 sn alarak hesaplayınız. T0 ( 0)
sn o
S2) f ( x ) = 2 sin x + 3e − x − 1 lineer olmayan denkleminin x=[0 2*pi] aralığındaki kökünü x
= 0 başlangıç koşulu altında
(Newton Raphson yaklaşımını kullanarak) ikinci iterasyon adımı sonundaki x (3) 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: D
v A : A direncine ilişkin uç gerilimi
m de r
v A = 3i13 − 2 ⇒
i1 : A direncine ilişkin akım
v B = 2i 2 2 + 1 ⇒
v B : B direncine ilişkin uç gerilimi
A
i1 ( t )
B C
E=10 volt
i 2 : B direncine ilişkin akım
vC = 4i33 − 3 ⇒
v C : C direncine ilişkin uç gerilimi
i 2 (t )
i 3 (t)
i3 : C direncine ilişkin akım
Şekil 2
.e e
i1 , i 2 ve i 3 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.
w
w
w
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; n xi ∑ n n 1 i = 1 ( ∑ xi + )∑ n i =1 x i i =1 <= 1000 n 1
∑
i =1 x 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)
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. 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.
Uğur Arifoğlu
08.04.2007
Cevap 1)
m de r
sn o
tla
ri. co
m
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 =
.e e
1.986554577767227 V_L_4saniye = 1.353352832366127 max_V_L_t = 10 fark = 2.197100000000000 V_L_etkin = 3.162269127110304 >>
w
w
w
f (x i ) yazılırsa; Cevap 2) (9.11) eşitliğinden; x i+1 = x i − f ' (x i ) i=1 için x1 = 0; (ilk koşul) f ( x 1 ) = 2 * sin( x 1 ) + 3 * e − x1 = 3 f ' ( x 1 ) = 2 * cos( x 1 ) − 3 * e − x1 = 2 − 3 = −1 f (x i ) f (x1 ) 3 x i+1 = x i − = 0− =3 ⇒ x 2 = x1 − ' ' − 1 f (x i ) f ( x1 ) f (x 2 ) −x −x x3 = x 2 − ; f ( x 2 ) = 2 * sin( x 2 ) + 3 * e 2 = 0.431 ; f ' ( x 2 ) = 2 * cos( x 2 ) − 3 * e 2 = −2.129 ' f (x 2 ) x3 = x 2 −
f (x 2 ) f ' (x 2 )
= 3−
0.431 = 3.202 ⇒ x 3 − x 2 = 3 − 3.202 <= epsilon olmadığı için iterasyon devam eder. − 2.129
Uğur Arifoğlu
08.04.2007
Cevap 3) Şekil 2’de sol göze Kirchhohh gerilim yasası uygulanırsa;
vA + vB − E = 0
m
ve şekil 2’de sol göze Kirchhohh gerilim yasası uygulanırsa;
vC + vB − E = 0
i1 + i 3 − i 2 = 0
ri. co
ve şekil 2’de D noktasına Kirchhohh akım yasası uygulanırsa;
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)
tla
Yukarıdaki command window satırlarında çalıştırılan alt program satırları ise aşağıda verilmiştir:
sn o
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:
m de r
>> x =
.e e
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)
w
w
w
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
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.
w
w
w
.e e
m de r
sn o
tla
ri. co
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
m
Cevap 5)
14/07/2008
U.Arifoğlu
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)
tla
ri. co
m
%
end
sn o
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.
m de r
NOT: while ile gösterilen bir işaret akış bloğu olmadığını hatırlayınız.
1
1
1
1
1
1
1
1
1
1
1
Soru 2) A = ( 2 + 3 ) + 3 * ( 2 + 2 ) + 5 * ( 3 + 3 ) + 7 * ( 4 + 4 ) + ...... 2 3 2 3 2 3 1.terim ↑
2.terim ↑
3.terim ↑
4.terim ↑ ……………..
.e e
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)
w
w
w
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; 2 * pi * delta * (B 2 − A 2 ), r
B
A≤r≤B
ifadesi ile hesaplanmaktadır. Yukarıda da görüldüğü gibi r’nin çeşitli değerleri için Vr 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 ( V = f (r ) ) çizdirsin.
14/07/2008
U.Arifoğlu
Soru 4)
a) f1 = x1 + 3 ln x1 − x 22 = 0 f 2 = 2x 12 − x 1 x 2 − 5x 1 + 1 = 0
m
Yukarıda verilen denklem sisteminde x1(0) = 1 ; x (20) = 1 olarak verilmektedir. x 1 ve x 2
ri. co
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)
Barem: 1-30
2-20
3-20
tla
c) Yukarıda verilen iki yüzeyi x 1 = [1;4] , x 2 = [1;4] aralıklarında 0.1 hassasiyetle alta alta çizdiren matlab programını yazınız.
4-30
w
w
w
.e e
m de r
Sınav süresi 80 dakikadır
sn o
Notlar açıktır (masa üzerinde dağınık olmayacaktır
Başarılar Dilerim Prof.Dr.Uğur Arifoğlu
14/07/2008
U.Arifoğlu
Çözümler Cevap 1)
m
BAŞLA
E
E
y=0
z=0
x=0
H
H
E
E
w=0
H
tla
H
ri. co
x=1; y=1; z=1; t=0
sn o
disp (‘polinom’)
H
polinom = xt 3 + yt 2 + zt + w
m de r
x = input('yeni bir x katsayısını gir: ');
imag(t)=0
E
‘ x=y=z=t=0 olduğu için iterasyon sona erdi’
y = input('yeni bir y katsayısını gir: ');
z = input('yeni bir z katsayısını gir: ');
.e e
w = input('yeni bir w katsayısını gir: ');
w
w
w
t = input('yeni bir t katsayısını gir: ');
H
imag(t)~=
0
E ‘t değeri karmaşık olduğu için iterasyon sona erdi’
DUR
t=0
H
E
14/07/2008
U.Arifoğlu
Cevap 3)
ri. co
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
m
Cevap 2)
m de r
sn o
tla
A=3; B=8; delta=1.2; r=0:0.01:10; for k=1:length(r) if 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:
.e e
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;
∂f
∂f1 = −2x 2 ; ∂x 2 ∂f ∂f J (2,1) = 2 = 4x 1 − x 2 − 5 ; J (2,2) = 2 = − x 1 ∂x 1 ∂x 2
w
w
w
1 b) J (1,1) = ∂x = 1 + 3 / x 1 ; 1
J (1,2) =
J (1,1) J (1,2) (jacobien matris) J (2,1) J (2,2)
J=
J
(0 )
J ( 0) (1,1) J ( 0) (1,2) 4 − 2 = = ( 0) (0) J (2,1) J (2,2) − 2 − 1
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');
Uğur Arifoğlu
30.03.2008 SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI
tla
ri. co
m
S1)
Şekil 1 Şekil 1’de i k ( t ) akımının t=0:0.001:1
saniye aralığındaki değişimi verilmiştir. i k ( t ) akımı iki ayrı fonksiyondan
sn o
meydana gelmektedir: f 1x = −9 x 2 + 10 ; f 2 x = 6 x + 4 . Akımın periyodu T=1 sn. alınacaktır. a) i k ( t ) akımının ortalamasını bulan matlab programı yazınız. (T=1 sn)
b) i k ( t ) akımın ortalama değerinin akımın ani değerinden küçük olduğu zaman diliminin alt ( t alt ) ve üst ( t ust ) değerlerini bulan matlab programı yazınız.
1T 2 ∫ i k ( t ) * dt olduğuna göre, akımın etkin değerini T=1 sn için hesaplayan matlab programı yazınız T0
m de r
c) I k , etkin =
(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) f ( x ) = 3x 3 − e 2 x lineer olmayan denkleminin kökünü x (0) = 1 başlangıç koşulu altında (Newton Raphson yaklaşımını kullanarak) ikinci iterasyon adımı sonundaki x (3) 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.)
.e e
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.
4*E [cos( α1 )-cos( α 2 )+cos( α 3 )] = 127.32 V π 4*E [cos(3 α1 )-cos(3 α 2 )+cos(3 α3 )] = 0 V 3*π 4*E [cos(5 α1 )-cos(5 α 2 )+cos(5 α 3 )] = 0 V 5π 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.
w
w
w
S3)
S4) 4 x1 − 6 x 2 = 8 3x1 + 4 x 2 = 4 x1 (0) = 1; x 2 (0) = 2; ilk koşuları altında
a) Basit (jacobi) iterasyonu ile ikinci iterasyon sonundaki x1 (2) ve x 2 (2) değerlerini bulunuz. b) Gauss-Seidal iterasyonu ile ikinci iterasyon sonundaki x1 (2) ve x 2 (2) 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.
Uğur Arifoğlu S5)
30.03.2008
d x1 1 2 x1 1 = + u(t ) dt x 2 3 4 x 2 2
durum denkleminin homojen çözümünde yer alan;
x1 c a = C1 e α1t + C 2 e α 2 t ; x b d 2 hom
m
α1 ,α 2 ,a, b, c, d değerlerini bulan matlab programını yazınız.
ri. co
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. m=2, n=0 iter=0
Hayır
m< n m
tla
n = n + 0.1 m = m - 0.1 iter = iter +1
sn o
Evet
n = n + 0.2 m = m - 0.2 iter = iter +1
t = m+ n m
Evet
m de r
t >1.95
Hayır
Yazdır t m n iter
.e e
DUR
Şekil 2
w
w
w
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
Uğur Arifoğlu
30.03.2008 ÇÖZÜMLER
i=1 için x (0) = 1 (ilk koşul)
f ( x (o) ) = 3 * ( x (o) )3 − e 2*x
(o )
f (x i )
(o)
ri. co
= -5.7781
⇒ x (1) = x (o) −
f ( x (o) ) '
f (x
(o)
= 1−
)
− 4.3891 = 0.2404 − 5.7781
m de r
f ' (x i )
yazılırsa;
f ' (x i )
= -4.3891
f ' ( x (o) ) = 9 * x ( (o) ) 2 − 2 * e 2* x
x i+1 = x i −
f (x i )
sn o
Cevap 2) a) (9.11) eşitliğinden; x i+1 = x i −
tla
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
m
Cevap 1)
x (1) − x (0) = 0.2404 − 1 = 0.7596 ≤ 0.001 şartı sağlanmadığı için iterasyon devam etmelidir.
i=2 için
x ( 2) = x (1) −
f ( x (1) )
f ' ( x (1) )
f ( x (1) ) = 3 * ( x (1) )3 − e 2* x
(1)
= -1.5757
f ' ( x (1) ) = 9 * x ( (1) ) 2 − 2 * e 2*x '
(1)
.e e
f (x
(1)
x ( 2) = x (1) −
f (x
)
(1)
= -2.7146
=-0.3401
)
x ( 2) − x (1) = − 0.3401 − 0.2404 = 0.5805 ≤ 0.001 şartı sağlanmadığı için iterasyon devam etmelidir.
w
w
w
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))];
Uğur Arifoğlu
30.03.2008
Cevap 4) a) Birinci iterasyon 8 + 6 * x (20) 4
=5
m
(1)
x1 =
( 0)
(1)
x2 =
4 − 3 * x1 4
= 0.25
ri. co
x1(1) − x1(0) = 5 − 1 = 4 ≤ 0.001 ve
x 2 (1) − x 2 (0) = 0.25 − 2 = 0.25 ≤ 0.001
şartları sağlanmadığı için iterasyon devam etmelidir.
Đkinci iterasyon (1)
=
8 + 6*x2 4
= 2.3750
(1)
( 2)
x2 =
4 − 3 * x1 4
tla
( 2)
x1
= -2.75
ve
sn o
x1(2) − x1(1) = 2.3750 − 5 = 2.625 ≤ 0.001 x 2 ( 2) − x 2 (1) = − 2.74 − 0.25 = 2.99 ≤ 0.001 b) Birinci iterasyon (1)
8 + 6 * x (20) 4 4 − 3 * x1(1)
=5
m de r
x1 =
şartları sağlanmadığı için iterasyon devam etmelidir.
(1)
x2 =
4
= -2.75
x1(1) − x1(0) = 5 − 1 = 4 ≤ 0.001 ve
x 2 (1) − x 2 (0) = − 2.75 − 2 = 4.75 ≤ 0.001 şartları sağlanmadığı için iterasyon devam etmelidir. Đkinci iterasyon ( 2)
=
8 + 6 * x (21)
= -2.125
.e e
x1
( 2)
x2 =
4
4 − 3 * x1( 2) 4
= 2.5938
ve
x 2 ( 2) − x 2 (1) = 2.5938 − (−2.125 = 4.7188 ≤ 0.001 şartları sağlanmadığı için iterasyon devam etmelidir.
w
w
x1(2) − x1(1) = − 2.125 − 5 = 7.125 ≤ 0.001
w
Cevap 5) >> A=[1 2;3 4]; >> [Q,d] =eig(A) Yukarıdaki sonuçlara göre; x1 Q(1,2) d ( 2, 2)*t Q(1,1) d (1,1)*t = C1 + C2 e e x Q ( 2 , 1 ) Q(2,2) 2 hom
Cevap 6)
t=0;m=2;n=0; for iter=1:50 while m >= n^m
olacaktır.
Uğur Arifoğlu
w
w
w
.e e
m de r
ri. co
sn o
tla
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
m
30.03.2008
Uğur Arifoğlu
6.03.20098 SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI
if
vp
vs
-
vs ( t ) (V)
in = 0 N
+ ip = 0
+
m
vn
+ -
C
M
10
vo
-
ri. co
Rs
is
4
2
Şekil 1 S1)
t (sn )
Şekil 2
1 t Şekil 1’de verilen ideal OPAMP devresinde v o ( t ) = − ∫ vs ( t ) * dt eşitliği geçerlidir. Devre girişine şekil 2’deki işaret R sC 0
tla
uygulandığında v o ( t ) değişimini bulan ve bunu vs (t ) ile aynı pencereye (subplot ile) alt alta çizdiren (üstte Vs olacak) matlab programını yazınız ( R s =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 ( Vda ) ve alternatif akım
sn o
voltmetresine uygulandığında okunan gerilim ( Vaa ) 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, i a , i b ve i c akımlarının ilk iterasyon sonundaki değerlerini
.e e
m de r
bulunuz ve ilk iterasyon sonunda yakınsama sağlanıp sağlanamadığını test ediniz. v a = 2i a ; v b = 3i b ; v c = 2i c2 + 5 (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=[ i a ; i b ; i c ], X o =[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) i1 (t) ve i 2 ( t ) akımları bir elektrik devresinin iki farklı dal akımıdır. i1 akım yolu üzerine konacak sigortanın açma akımı 13 A ve i 2 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
w
w
w
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: i1 (t)= 10.29sin((2π50t)-1.262)+9.81 e −100 t ; i 2 ( t ) = −3t 3 − 3t 2 + 7 t + 6 ; t=0:0001:2 alınız. Not: 1.262 radyan dır. S5) Şekil 3’de “a” elemanı X L =2 ohm (bobin), “b” elemanı X C = 2 ohm (kapasite), “c” elemanı ise R= 4 ohm (direnç) olsun. “E” nin yerine v( t ) = 220 2 sin( wt − π / 3) 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
Uğur Arifoğlu
6.03.20098
ri. co
tla
% doğru akım voltmetresi % alternatif akım voltmetresi
sn o
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) sqrt(mean(Vs.^2))
b) C=3; akimC=C*diff(Vs)./diff(t); plot(t(2:end),akimC,’k’),xlabel(‘t’),ylabel(‘iC’),grid
m de r
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=[ i a ; i b ; i c ] için jacobian matris;
∂f ∂ib ∂g ∂ib ∂h ∂ib
∂f ∂ic ∂g ∂ic ∂h ∂ic
.e e
∂f ∂ia ∂g J= ∂ib ∂h ∂ib
w
w
w
J= [ 2 3 [ 0 -3 [ -1 1
m
ÇÖ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
0 ] 4*ic ] 1 ]
elde edilir.
∂f ∂f ∂f . ( o ) ( o ) ( o ) ∂ic ic = ic (1) ∂ia ia =ia ∂ia ib = ib ia − ia (o) f (ia (o) , ib (o) , ic (o) ∂g ∂g ∂g ib (1) − ib (o) g(ia (o) , ib (o) , ic (o) = − ∂ia ia =ia ( o ) ∂ib ib = ib ( o ) ∂ic ic =ic ( o ) (o ) (o ) ( o ) . h (ia , ib , ic (1) (o ) ∂h ∂h ∂h ic − ic ∂ia ia = ia ( o ) ∂ib ib =ib ( o ) ∂ic ic = ic ( o )
Uğur Arifoğlu
6.03.20098
4 * ic ib (1) − 1.8 . (1) 1 1 ic − 0.4 ia (1) − 2.3 -1 3 0 2 0 ( 1 ) −3 4 * ic ib − 1.8 0 * 0.08 = . 0.1 ( 1 ) − 1 1 1 ic − 0.4 ia (1) − 2.3 1 1 1 0 (1) 1 1 1 ib 1 . 8 − * 0.08 = . 0.1 (1) 1 1 1 ic − 0.4 ( 1 ) ( 1 ) ia − 2.3 ia 0.18 ib (1) − 1.8 ib (1) 2.3 + 0.18 2.38 ⇒ ⇒ = 1.8 + 0.18 = 1.98 ⇒ 0.18 = . . 0.4 + 0.18 0.58 0.18 (1) (1) ic − 0.4 ic ia (1) − ia (o) 2.38 − 2.3 0.08 ib (1) − ib (o) 1.98 − 1.8 0.1 epsilon = > epsilon olduğu için ikinci iterasyona geçilecektir. = = . . . epsilon (1) (o ) ic − ic 0.58 − 0.4 0.18
m de r
sn o
tla
ri. co
3 −3
m
2 0 = − 0 − 0 . 08 − 0.1 −1
(1) 0 ia − 2.3
w
w
w
.e e
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
U.Arifoğlu
(21/07/2009)
SAYISAL ANALĐZ YAZ OKULU VĐZE SINAV SORULARI
Soru 2)
d dt
ri. co
m
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.
Vc ( t ) 5 2 Vc ( t ) 2 = + u ( t ) ; u(t): birim basak fonkiyonu i L ( t ) 4 1 i L ( t ) − 1
dVC (k ) VC (k ) − VC (k − 1) dVC (k + 1) VC (k + 1) − VC (k ) = veya = dt (k ) t (k ) − t (k − 1) dt (k + 1) t (k + 1) − t (k ) di L (k ) i L (k ) − i L (k − 1) di L (k + 1) i L (k + 1) − i L (k ) = veya = dt (k ) t (k ) − t (k − 1) dt (k + 1) t (k + 1) − t (k ) olduğu hatırlansın. Programda boyut taşması problemine dikkat edin!
Soru 3) z=sin(x)*cos(y)
sn o
Yol gösterme:
tla
Yukarıda verilen durum denkleminde Vc (0) = 1V ; i L (0) = 2A olduğuna göre t=0:0.001:2 saniye aralığında VC ( t ) ve i L ( t ) 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:
m de r
fonksiyonunun x ∈ [0,4] ve y ∈ [− 2,1] aralığında maksimum olduğu ( x , y, z) koordinatlarını
ve minimum olduğu ( x , y, z) 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 I k ( t ) = 2 * e 0.5t Amper değerinde bir akım kaynağı ile beslenmektedir. R1 = 0.2 ohm , R 2 = 0.4 ohm , L= 3 H. R1 direncinin
.e e
taşıyabileceği ani güç; PR1 ( t ) = 34W , R 2 direncinin taşıyabileceği ani güç; PR 2 ( t ) = 30W , L selfinin taşıyabileceği ani güç ise PL ( t ) = 50W 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))
w
w
w
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…
U.Arifoğlu
dVC (k + 1) VC (k + 1) − VC (k ) = = 5VC (k ) + 2i L (k ) + 2 dt (k + 1) t (k + 1) − t (k ) VC (k + 1) − VC (k ) = 5VC (k ) + 2i L (k ) + 2 t (k + 1) − t (k ) ************************************************** VC (k + 1) = (5VC (k ) + 2i L (k ) + 2) * ( t (k + 1) − t (k )) + VC (k ) **************************************************
tla
2)
ri. co
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!
m
ÇÖZÜM
sn o
1. eşitlik
m de r
di L (k + 1) i L (k + 1) − i L (k ) = = 4VC (k ) + i L (k ) + 1 dt (k + 1) t (k + 1) − t (k ) i L (k + 1) − i L (k ) = 4VC (k ) + i L (k ) + 1 t (k + 1) − t (k ) ************************************************** i L (k + 1) = (4VC (k ) + i L (k ) + 1) * ( t (k + 1) − t (k )) + i L (k ) **************************************************
2. eşitlik
Aşağıda yazılan programda VC = x iL = y alınacaktır.
.e e
Yukarıda verilen iki adet eşitlik yardımı ile aşağıdaki program oluşturularak istenilen çıkış değerleri çizdirilmektedir.
w
w
w
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');
U.Arifoğlu
ri. co
m
% 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
tla
Not: Bulduğunuz sonuçları bilgisayarınızda elde edeceğiniz şekil üzerinde kontrol ediniz.
w
w
w
.e e
m de r
sn o
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
Uğur Arifoğlu
31.03.2010
Şekil 1 S1)
ri. co
m
SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALĐZ VĐZE SINAV SORULARI
R R R R Şekil 1’de verilen (Dijital-analog çevirici-DAC) devresinde, v o = −( f v1 + f v 2 + f v3 + f v 4 ) R1 R2 R3 R4 eşitliği geçerlidir. R f = 5k, R1 = 5k, R 2 = 10k, R 3 = 20k, R 4 = 40k değerini almaktadır. Giriş uçlarına uygulanan giriş ikili (binary) kod değerleri
[v1v2 v3v 4 ] ; [0000] , [0001] , [0010] , [0011] , [0100] , [0101]
için
v o çıkış ucunda elde edilen analog gerilim
tla
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ı v1 ,ikincisi v 2 ,üçüncüsü v3 ,dördüncüsü v 4 değerini gösterir.
sn o
a11 c11 c12 .. c1n a c 21 c 22 ... c 2n 21 S2) A = ; B = [b11 b12 ... b1n ] ; C=A*B ⇒ C = .. .. .. .. .. a m1 c m1 c m 2 .. c mn
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.
m de r
S3)
Şekil 2
.e e
dv ( t ) ilişkisi geçerlidir. R f = 6kΩ , C=1 µF . v s ( t ) = 5 * sin(2 * pi * 50 * t ) Şekil 2’de verilen türev alıcı devrede v o ( t ) = −R f C s dt alınız. t=0 : 0.00001 : 6 için i o ( t ) değişimini bulunuz. subplot komutu yardımı ile v s ( t ), v o ( t ) ve i o ( t ) 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.
w
w
w
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 birinci _ terim S5) (1 + x ) r = 1 +
} rx
ikinci _ terim
üçüncü _ terim
64748 6447448 n.terim } r (r − 1) 2 r (r − 1)(r − 2) 3 + x + x + .... (Maclaurin serisi) 2! 3!
Ö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: x ≤ 1 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.
Uğur Arifoğlu
31.03.2010
ÇÖZÜMLER
ri. co
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)
m
Cevap 1)
Cevap 2)
tla
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
sn o
Cevap 3)
Cevap 4)
m de r
[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)
w
w
w
.e e
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.
Uğur Arifoğlu
31.03.2010
Cevap 5)
w
w
w
.e e
m de r
sn o
tla
ri. co
m
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
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.
m
Akım denklemi ise; i(t ) 50 A1e 2 t A 2 e 5t olarak verilmektedir. ölçülerek bulunan i(t) akımının
ri. co
0.2 sn.de aldığı değeri kullanarak, i(t) akım ifadesinde yer alan A1 ve A 2 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).
tla
Soru 2) i( t ) 50 3e 2t 6e 5t 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.
em de r
sn o
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.
w
w
w .e
Soru 4) f (t ) 3 sin(t 0.5) 4e 20 t 18e 3t 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.
U.Arifoğlu
(22/07/2011) CEVAPLAR
sn o
2)
tla
ri. co
m
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.
w
w
w .e
em de r
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));
U.Arifoğlu
(22/07/2011)
sn o
tla
ri. co
m
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))
em de r
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))
w
w
w .e
5)
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
(VAr)-Volt Amper Reaktif S Vetkin * I etkin P 2 Q 2 olduğuna göre, herhangi bir değişkenin etkin değeri ise;
A etkin
1T 2 A( t ) dt T0
(Q; reaktif gücü göstermektedir)
tla
olduğuna göre, kompleks güç; S kompleks P jQ (kompleks güç)
ri. co
m
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ü;
formülü ile hesaplandığından, bu cihaza ilişkin kompleks güç fazörünü çizdiren matlab program satırlarını yazınız.
. Soru 3)
sn o
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.
em de r
f(t ) A B
B
C
D
t (sn)
15
w .e
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.
w
w
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.
U.Arifoğlu
12/07/2012 CEVAPLAR
1)
ri. co
m
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)
em de r
sn o
tla
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
w .e
F1=F(b:end); t_A=t(b); [B c] = min(F1); F2=F(b+c:end); t_B=t(b+c-1); [C d] = max(F2); t_C=t(b+c+d-1); [D e] = min(F2); t_D=t(b+c+e-1);
% t(A) değeri bulundu % B değeri bulundu % % % % %
t(B) değeri bulundu C değeri bulundu t(C) değeri bulundu D değeri bulundu t(D) değeri bulundu
b
c
d
e
w
w
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;
x y i( y ) 2x z=z+(1/z) = x+iy +(1/(x+iy)= x 2 2 2 x y x y2 1
1
"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.
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.
ri. co
m
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 V * I * (v i ) ). 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).
sn o
tla
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
em de 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 Obis sistemde ilan edilecektir.
ÇÖZÜMLER
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')
w
w
w .e
Cevap 1)
end
U.Arifoğlu - G.Çetinel 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));
m
28.03.2012
Cevap 3)
w
w
w .e
em de r
sn o
tla
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)')
ri. co
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
U.Arifoğlu - Ö.Özkan
11.04.2013
SAÜ. MÜH. FAK. ELK-ELN. MÜH. BÖL. SAYISAL ANALİZ VİZE SINAV SORULARI
S2) Bir elektrik devresinde kapasite içinden geçen akımın zamana bağlı değişimi;
tla
( )
ri. co
m
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)
denklemi ile verilmektedir. Kapasitenin "kapasitans" değeri C= 2 Farad olduğuna göre, t=0:0.001:3 sn aralığında;
sn o
) 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. ( )) en yüksek olduğu değeri ve bu değere ulaşıldığı "t" anını e) Kapasitenin harcadığı ani güç değerinin (p(t)= ( ) bulunuz. ( ) Not: (Yukarıdaki tüm işlemler verilen zaman aralığı boyunca yapılacaktır) (Her şık 5 puan) ∫ ( )
em de r
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 " 4
yazdırılacaktır. Oluşturulacak matrisin örneğin (1,1) elemanı: 1. polinomum 4. derece ( t ) katsayısı olacak, (1,5) elemanı: 1. 0
2
w
w
w .e
polinomum sabit katsayısı ( t ) olacak, matrisin (2,3) elemanı: 2. polinomum 2. derece ( t ) 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.
U.Arifoğlu - Ö.Özkan
11.04.2013
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;
2) clc
em de r
sn o
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
tla
ri. co
1) a)
m
ÇÖZÜMLER
w
w
w .e
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))
U.Arifoğlu - Ö.Özkan 3)
11.04.2013
tla
ri. co
m
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
4.
| | √
( )
ğ
(
√
)
(
)
(
)
)];
em de r
(
sn o
matris
(
)
(
√
w
w
w .e
(
[
(
(
)
(
)
(
)
√
)
(
√
)
k=0,1,2
√
)
(
)
)]
(
)
U.Arifoğlu - Ö.Özkan
̅
( (
)
(
)
(
)
)
)
(
)
Merkezi (1,1); rad. √ olan daire denklemi
w
w
w .e
em de r
sn o
tla
)
(
Merkezi (2,2); rad. 2√ olan daire denklemi
( (
)
m
̅
ri. co
5.
11.04.2013