ULUDAĞ ÜNİVERSİTESİ MÜHENDİSLİK-MİMARLIK FAKÜLTESİ MAKİNE MÜHENDİSLİĞİ BÖLÜMÜ 2012-2013 BAHAR YARIYILI MAK1010 MAKİNE MÜHENDİSLİĞİNDE BİLGİSAYAR UYGULAMALARI DERSİ FİNAL SINAV SORULARI Prof. Dr. İbrahim YÜKSEL Yrd. Doç. Dr. Gürsel ŞEFKAT Sorular 1 2 3 Toplam Not Yazılarınızın okunaklı ve işlemlerinizin kolay takip edilebilir olmasına özen gösteriniz. Bu sınav belgesinde 4 sayfada toplam 3 adet soru vardır Sınav Süresi 90 dakikadır. DİKKAT: Öğrenci Disiplin Yönetmeliği Madde 9, m fıkrasına göre sınavlarda kopya yapmak ve yaptırmak ve bunlara teşebbüs etmek, Yükseköğretim Kurumundan bir veya iki yarıyıl için uzaklaştırma cezasını gerektiren disiplin suçları arasındadır Sınava Giren Öğrencinin; Adı/Soyadı :... Numarası :... Yarıyılı :... 1. Örgün 2. Örgün İmzası :... 11 HAZİRAN 2013, BURSA
Soru 1: (25 Puan) Aşağıda verilen soruları programlama dili, özellikle de MATLAB programlama dili esasına göre cevaplayınız a) x = [2 5 1 6] olsun. Her bir elemanın karekökünü hesaplayan komutu yazınız. >> x.^(1/2) b) Aşağıdaki programın çıktısı nedir? K=[1 2; 3 4]; while K(1,2) == 2, K=2*K, K = 2.00 4.00 6.00 8.00 c) M=[ ] verilmiştir. M(1,1:) komutunun sonucunu belirleyiniz. >> M(1,1:) 1.00 2.00 3.00 d) Aşağıda verilen MATLAB kodu n=6 için çalıştırıldığında sonuç ne olur? function f = fibonacci(n) f = zeros(n,1); f(1) = 1; f(2) = 2; for k = 3:n f(k) = f(k-1) + f(k-2); >> fibonacci(6) 1.00 2.00 3.00 5.00 8.00 13.00 e) r=[18 9.9 15 4 2.3 1.9 10] verildiğine göre w=r(r<=10) sonucu nedir. w = 9.90 4.00 2.30 1.90 10.00 f) x= 32.93 27.79 12.68 38.00 0.37 y =47.96 27.36 6.93 7.46 12.87 vektörleri verildiğine göre (x>13) (y>7) işleminin sonucu nedir. 1 1 0 1 1 g) Aşağıdaki işlemlerin sonuçlarını yazınız (i) 0&21 (ii) ~-2> 1&11>=~0 (iii) 4 7/2&6<5-3 (iv) 3 1&~2* 3 0 i). 0 ii). 1 iii). 1 iv). 1 h) Aşağıdaki döngünün sonucunu yazınız. for i= 1:5 fprintf('%d ',i) 1 2 3 4 5 i) function runsum = sum1ton(n) runsum =0; for i = 1:n runsum = runsum+i; verildiğine göre sum1ton(5) komutunun sonucu nedir? 15 j)function outarg= myvecsum(vec) outarg = 0; for i = 1:length(vec) outarg = outarg + vec(i); verildiğine göre myvecsum([5 9 4]) komutunun sonucu nedir? 18
Soru 2: (25 Puan) Aşağıda birer saat arayla, 12 saatlik bir dönemde ölçülen sıcaklık değerleri verilmiştir 7, 10, 14, 18, 20, 27, 32, 30, 25, 23, 27, 24 a) Buna göre MATLAB komut ortamında, zamana göre sıcaklıkları + işareti kullanarak sadece ölçülen değerleri ve üzerine eğriyi çizdirerek, eksenleri adlandırın. b) Daha sonra enterpolasyon komutunu kullanarak 2.3, 5.4 ve 6.7 zamanına karşılık gelen sıcaklıkları bularak aynı grafik üzerine ilgili noktaları kırmızı renkli o işareti ile belirtiniz. c) Bu eğrilere uyan üçüncü ve beşinci dereceden eğri denklemlerini elde ederek aynı grafik üzerine, denklem eğrilerini farklı renklerde çizdiren düz yazı dosyasını yazınız. % a t=1:12; s=[7 10 14 18 20 27 32 30 25 23 27 24]; plot(t,s,'+-') xlabel('zaman [s]');ylabel('sicaklik ^oc]') % b hold on plot(2.3,interp1(t,s,2.7),'ro') plot(5.4,interp1(t,s,8.2),'ro') plot(6.7,interp1(t,s,10.7),'ro') %c t=1:12; ti=1:.1:12; s=[7 10 14 18 20 27 32 30 25 23 27 24]; k3=polyfit(t,s,3); s3=polyval(k3,ti); plot(ti,s3,'r'); hold on k5=polyfit(t,s,5); s5=polyval(k5,ti); plot(ti,s5,'k') grid
Yerdegistirme Soru 3: (15 Puan) Yanda şekli verilen krank-biyel mekanizmasıda, biyelin yerdeğiştirme ifadesi; s acos( ) b asin( ) 2 2 e e şeklinde verilir. a, b, e yi giriş argümanı kabul eden ve 0<<2 aralığında /16 aralıkla biyelin açıya göre s yerdeğiştirme grafiğini, noktaları * işaret koyarak çizip, eksenleri adlandıran bir fonksiyon dosyası hazırlayınız. Ayrıca komut ortamında, a=1, b=1.5, e=0.3 değerleri için hazırladığınız bu programı çalıştıran komutu belirleyiniz. a b 2.5 2 1.5 1 function s=sfi(a,b,e); fi=0:pi/4:2*pi; s=a*cos(fi)+sqrt(b^2-(a*sin(fi)-e).^2); plot(fi*180/pi,s,'*-');grid xlabel('açi Degerleri'); ylabel('yerdegistirme'); 0.5 0 0 50 100 150 200 250 300 350 400 Açi Degerleri >> sfi(1,1.5,0.3) Soru 4: (15 Puan) Parça parça fonksiyonlar bağımlı ve bağımsız değişkenleri arasında bağlantıyı tek bir denklemle tanımlanamayan durumlarda kullanılmaktadır. Örneğin, bir roketin hızı yandaki şekilde tanımlanabilir. V hızını t zamanın bir fonksiyonu olarak hesaplayan ve zamana karşılık hızı çizen bir düz yazı dosyası hazırlayınız. (Not: Zaman 1-50 aralığında alınabilir) t=1:50; % for i=1:length(t); if 0<=t(i) & t(i)<=8 v(i)=10*t(i).^2-5*t(i); if 8<t(i) & t(i)<=16 v(i)=624-54; if 16<t(i) & t(i)<=26 v(i)=36*t(i)+12*(t(i)-16).^2; if t(i)>26 v(i)=2136*exp(-0.1*(t(i)-26)); v(i)=0; plot(t,v) 2500 2000 1500 1000 500 0 0 5 10 15 20 25 30 35 40 45 50 }
Soru 5: (20) Metallerin yaşlanma gerilimlerinin kestiriminde kullanılan düzeltme faktörünün belirlenme ilişkisi tabloda verildiği gibidir. Yük, boyut ve sıcaklık değerleri dışardan girildiğinde, ilgili düzeltme faktörünü bulan ve ekrana yazdıran düz yazı dosyasını yazın. Faktör Koşullar Düzeltme Faktörü Yük Eğilme C yük =1 Eksenel C yük =0.70 Boyut d 8 mm C boyut =1 Sıcaklık 8 d 250 mm C boyut =1.189 d -0.097 o T 450 C C sıcak =1 450 T o C C sıcak =1-0.0032(T-840) yuk=input('yuk Faktorunu Giriniz (Egilme ise 1, Eksenel ise 2)'); d=input('boyut Faktorunu Giriniz (d=1-250 [mm]) : '); T=input('Sıcaklık Değerini Giriniz (0-1000^o C : '); if yuk==1 Cyuk=1; if yuk==2 Cyuk=0.70; 'Geçersiz bir seçim yaptınız' if d<=8 Cboyut=1; Cboyut=1.189*d^-0.097; if T<450 Csicak=1; Csicak=1-0.0032*(T-840); fprintf('yük Faktörü; Cyük= %3.2f\n',Cyuk); fprintf('boyut Faktörü; Cboyut= %3.2f\n',Cboyut); fprintf('sıcaklık Faktörü; Csıcak= %3.2f\n',Csicak); Yazılan bu dosya MAK1010_Final201213S5 olarak kaydedilip, komut ortamında çalıştırılırsa; >> MAK1010_Final201213S4 Yuk Faktorunu Giriniz (Egilme ise 1, Eksenel ise 2)1 Boyut Faktorunu Giriniz (d=1-250 [mm]) : 15 Sıcaklık Değerini Giriniz (0-1000^o C : 500 Yük Faktörü; Cyük= 1.00 Boyut Faktörü; Cboyut= 0.91 Sıcaklık Faktörü; Csıcak= 2.09 ekranı görülür.