Gönderen Konu: C ile birinci dereceden üç bilinmeyenli denklem çözümü nasıl yapılır?  (Okunma sayısı 2241 defa)

Çevrimdışı rf

  • Kıdemli
  • ****
  • İleti: 339
  • Atmelsiz geçen günlerime yanarım!
    • KOSGEB Girişimcilik Desteği Bilgi ve Paylaşım Platformu
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.





KOSGEB Girişimcilik Desteği Bilgi ve Paylaşım Platformu
http://www.girisimcilikdestegi.com/

Çevrimdışı JKramer

  • Profesyonel Üye
  • *****
  • İleti: 1268
Cramer's_rule işinize yarayabilir. Bunu da hesap makinanız yoksa denemek için kullanabilirsiniz.

Çevrimdışı serdararikan

  • Profesyonel Üye
  • *****
  • İleti: 1020
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

Çevrimdışı rf

  • Kıdemli
  • ****
  • İleti: 339
  • Atmelsiz geçen günlerime yanarım!
    • KOSGEB Girişimcilik Desteği Bilgi ve Paylaşım Platformu
@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.

Kod: [Seç]
<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,
« Son Düzenleme: 06 Temmuz 2010, 14:51:45 Gönderen: rf »
KOSGEB Girişimcilik Desteği Bilgi ve Paylaşım Platformu
http://www.girisimcilikdestegi.com/

Çevrimdışı ErsinErce

  • Profesyonel Üye
  • *****
  • İleti: 1551
@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.
http://www.picproje.org/index.php/topic,24675.0.html

Çevrimdışı rf

  • Kıdemli
  • ****
  • İleti: 339
  • Atmelsiz geçen günlerime yanarım!
    • KOSGEB Girişimcilik Desteği Bilgi ve Paylaşım Platformu
@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,

KOSGEB Girişimcilik Desteği Bilgi ve Paylaşım Platformu
http://www.girisimcilikdestegi.com/

Çevrimdışı ErsinErce

  • Profesyonel Üye
  • *****
  • İleti: 1551
@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 sayfa 81de örneğide mevcut, bu yöntem birçok yerde işinize yarar.

İyi Çalışmalar.