![]() |
|
|
Hangi yükseklikte kaç dereceyle atalım? / 13 Nisan 2009
Az önce çok sevdiğim bir arkadaşımla beraberken http://www.fizik.net.tr/animasyon/atis/a1.swf linkindeki flash animasyon eskaza takıldı gözümüze. Çok kaliteli bir animasyon değil ama başladık mermiyi en uzak mesafeye nasıl göndeririz diye düşünmeye… Sonra araya bazı işler girdi ayrıldık. Ben odaya gelince düşünmeye başladım. Eğik bir atış hareketi vardı ve merminin en uzağa gitmesi için toplam uçuş süresi ile yatay hız çarpımının max yapılması gerekiyordu, çünkü yatayda alınan yol “toplam zaman*yatay hız”. Güzel bir mühendislik sorusu gibi. Evet, siz de düşünmek isterseniz yazının devamına geçmeden yukarıdaki bağlantıya bakabilirsiniz.
Biz toplam uçuş süresini hesaplayalım: Nerde kalmıştık? t1 ve t2 yi buluyorduk. t1 merminin tepeye çıkma süresiydi:
Toplam uçuş süresi, t1+t2:
toparlarsak:
oldu. Şimdi “toplam uçuş*yatay hız” büyüklüğünün yani bir üst satırdaki yatayda_alinan_yol ifadesinin hangi alfa değerinde max olduğunu bulmamız gerekiyor. Yani ifadenin alfa ya göre türevini alıp sıfıra eşitlemeliyiz ve alfayı çekmeliyiz… Oldukça zahmetli bir iş. Bilgisayardan yardım alıp yatayda alınan yolun alfaya göre grafiğini çizdirip baksak nasıl olur? Ben de öyle yaptım. Formülümüzü bir hesap makinesiyle biraz basitleştirip Matlab e uyarlarsak: Mesela H=40 m için hangi açıyla göndermemiz gerektiğine bakalım: alfa=0:0.01:pi/2; H=40; y=(3.19*sin(alfa)+sqrt(H/4.9+10.19*sin(alfa).*sin(alfa)))*31.3.*cos(alfa); plot(alfa,y); xlabel('alfa'); ylabel('yatayda alinan yol');
alfa=0.64 radyan (0.64/pi)*180=36.6 derece. Yani 36.6 dereceyle gönderdiğimizde mermimiz max yolu alıyor, bu da 134.1 m imiş. Animasyonda açı çözünürlüğü pek iyi değil, dolayısıyla 40m yükseklik için 36, 37, 38 dereceler civarı max mesafeyi veriyor, keşke biraz daha hassas olsaydı. Oldu olacak bunu bir matlab fonksiyonu haline getirelim, H yi girelim alfa yı alalım: function [aci] = xalfa(H) %İlk yüksekliği alıp max mesafe için alfayı hesaplar. alfa=0:0.01:pi/2; y=(3.19*sin(alfa)+sqrt(H/4.9+10.19*sin(alfa).*sin(alfa)))*31.3.*cos(alfa); aci=(alfa(find(y==max(y)))/pi)*180; end Kullanımı: ans = 36.6693 >> xalfa(30) ans = 38.3882 >> xalfa(60) ans = 33.8045 Evet, burda böyle güzel bir uygulama yaptık. Her ne kadar diğer işler olsa da böyle işlerden de kendimi alasım gelmiyor Yorum Yapın |
|
| |