ANSI C ile birinci dereceden üç bilinmeyenli denklem çözümü nasıl yapılır? Klasik yöntemleri C ile kodlayamadım.
Bu konuda kullanılan kısa bir yöntem varmıdır?
Teşekkürler,
Saygılarımla.
Cramer's_rule (http://en.wikipedia.org/wiki/Cramer's_rule) işinize yarayabilir. Bunu da (http://www.1728.com/unknwn3.htm) hesap makinanız yoksa denemek için kullanabilirsiniz.
sayısal yöntemler dersi aldıysanız orada bilgisayarla denklem çözümü teknikleri anlatılır.bir sürü yöntem var.örneğin LU decomposition,gauss elemination,iterasyon ... gibi
@JKramer
Gönderdiğiniz linkler için teşekkür ederim hesap makinesi linkindeki java kodlarını inceledim Excell'de bir benzerini yaptım ve doğru çalışmakta.
<script language="JavaScript">
function calculate(equations)
{a = eval(document.equations.X1.value)
b = eval(document.equations.Y1.value)
c = eval(document.equations.Z1.value)
d = eval(document.equations.C1.value)
e = eval(document.equations.X2.value)
f = eval(document.equations.Y2.value)
g = eval(document.equations.Z2.value)
h = eval(document.equations.C2.value)
i = eval(document.equations.X3.value)
j = eval(document.equations.Y3.value)
k = eval(document.equations.Z3.value)
l = eval(document.equations.C3.value)
<!--EVALUATING THE DELTA DETERMINANT -->
delta = eval((a*f*k)+(b*g*i)+(c*e*j)-(c*f*i)-(a*g*j)-(b*e*k))
document.output.x.value = delta
<!--EVALUATING THE X NUMERATOR & ANSWER -->
xnum = eval((d*f*k)+(b*g*l)+(c*h*j)-(c*f*l)-(d*g*j)-(b*h*k))
xans = " " + eval(xnum/delta)
document.output.x.value = xans
<!--EVALUATING THE Y NUMERATOR & ANSWER -->
ynum = eval((a*h*k)+(d*g*i)+(c*e*l)-(c*h*i)-(a*g*l)-(d*e*k))
yans = " " + eval(ynum/delta)
document.output.y.value = yans
<!--EVALUATING THE Z NUMERATOR & ANSWER -->
znum = eval((a*f*l)+(b*h*i)+(d*e*j)-(d*f*i)-(a*h*j)-(b*e*l))
zans = " " + eval(znum/delta)
document.output.z.value = zans}
</SCRIPT>
@serdararikan
Malesef böyle bir ders almadım matrislerede epeyce uzak kaldığımıda anladım, verdiğiniz keywordler sayesinde ve ufak bir araştırmayla yukarıdaki yöntemin Saruss Kuralı olduğunu buldum yukarıdaki kodu artık kolaylıkla C ye çevirebilirim.
http://www.matematik.tc/matematik-2-konu-anlatimlari-oku/matris-ve-determinant.html
http://en.wikipedia.org/wiki/Determinant
Not1: Nereden esti diyenler için NTC kalibrasyonunda Steinhart-Hart modeli için gereken a,b ve c değerlerinin hesaplanmasında gerekmektedir. üç farklı sıcaklık için verilen üç direnç değeri ile elde edilen 3 bilinmeyenli birinci dereceden denklemi çözmekte kullanacağım.
Not2: Java ile daha önce hiç kodlama yapmadım. Tahmin yöntemi ile kodları okudum.
Teşekkürlerimi sunuyorum,
Saygılarımla,
@rf NTC için yazdığım programda matris yöntemi kullanılarak çözüm yaptım programın kodları da forumda mevcut yardımcı olur, bir inceleyin isterseniz.
https://www.picproje.org/index.php/topic,24675.0.html
@cynetron
Programınız çok işime yaradı teşekkür ederim. Sourcecode ları verme inceliğini gösterdiniz ama benim onu açacak IDE'm kurulu olmadığı için NotDefteri ile açtım bi kaçını anlaşılmayan karakterlerle doluydu.
Birde onu sorsaydık ayıp olacaktı artık. Balığı istedik birde kılçıklarını ayıklarmısınız olacaktı.
Yazacağım program sizinkinden farklı olmayacak ama ilerde bunu işlemci içine gömerek online kalibrasyon menüleri oluşturmak istiyorum. Bu nedenle mantığını öğrenmem önemliydi.
Teşekkür ediyorum.
Saygılarımla,
@rf
Programı biraz hızlı yazdığım için isimlendirmeler ve kurgu biraz karışık oldu, anlaşılması zor olabilir, bilmemek değil... diye atasözümüz var ;)
çözümleme yapısında Cramer yöntemini kullanıldım nette sade anlatan şuan bunu bulabildim sayfa 79 http://www.aof.anadolu.edu.tr/kitap/IOLTP/2286/unite03.pdf (http://www.aof.anadolu.edu.tr/kitap/IOLTP/2286/unite03.pdf) sayfa 81de örneğide mevcut, bu yöntem birçok yerde işinize yarar.
İyi Çalışmalar.