Mathematica etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Mathematica etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

26 Ekim 2010 Salı

Mathematica'da Denklem sadeleştirme...

Mathematica'nın el ile çözülemeyecek derecedeki karışık denklemleri çözdüğü tartışılamaz fakat bazen işleri öyle karıştırır ki çok karmaşık matris sistemini bile çözüp bize gösterdiğinde çözümlerin bazen en sade şeklini alabileceği halde sadeleşmiş olarak vermez. bunun için Tam çözüm yada yalın çözüm komutlarını deneyebiliriz ancak ikisini de denediğiniz halde yine de gözle görülebilecek kadar kolay işlemleri yapmadığı zamanlar da olur böyle durumlarda artık denklem sadeleştirmek Mathematica'nın ekstra komutlarını kullanarak sizin marifetlerinize kalmış demektir. Bunun için ben ilk olarak ReplaceAll komutunu öneriyorum sadeleştirmek yerine önce küçük atamalar ya da değişkenler değiştirmeyi deneyebiliriz. genel olarak şöyle kullanılır örneğin:
{x, x^2, y, z}denkleminde x gördüğümüz yere "a" yazdırmak istersek;
denklemin sonundaki parantezden sonra "/. x -> a" komutunu yazmamız yeterlidir. 
yukarıdaki 8x8 lik matrisin ilk elemanı olan a1'de Lamda1^(M/4) yerine K1 yazmak istiyorsam ;
a1 elemanında sonra " /. (Lamda1)^(M/4) -> (K1) " komutunu eklemem yeterli olacaktır. böylece; bir kaç dönüşüm yaparsam;
a1 elemanını K1 ve K2 değişkenleri türünde Mathematica'ya tekrar yazdırmış olurum... Yazımın devamında daha sade ifadeler elde edebilmek için farklı komutları denemeye devam edeceğim...
a1 ve a2 elemanları üzerinde bir kaç dönüşüm yapalım...  
gördüğümüz gibi bazı değişkenler çarpıldığında tanımladığım dönüşümler oluşması gerekirken Mathematica bunları otomatik olarak hesaplayıp sunamıyor. tam çözüm yada yalın çözüm seçeneklerini uyguladığımda ise ortak çarpanları bulmasına rağmen düzensiz yerlerdeki işlemleri gerçekleştirmiyor. Bundan sonraki kısımda el ile müdehale şart gibi görünüyor. bakalım işin içinde nasıl çıkacağız ... :S ( 27.10.2010 ; 00:37 )

19 Ekim 2010 Salı

Sonunda Çözdüm ...

Uzun zamandır üzerinde çalıştığım tez konumda geçen bir 8x8 lik matrisin
en doğru çözümünü bir türlü tutturamıyordum sonunda sakin sakin Mathematica dostumla sorunu çözdüm , basit bir parantez işlemi hayatta ne kadar önemli olabilirdi ki... işte bu kadar. buradan işlem önceliği kuralını göz ardı ederek algoritma yazan ve uzun denklemlerle Matlab, Mathematica vb. programlarla çalışan arkadaşlara sesleniyorum bu hassasiyeti asla unutmayalım. Her ne kadar denklemlerim en yalın halde çıkmış olmasada gecenin bu saati bu sonucu bulduğuma sevindim :))

Video Haber