2010-12-08 17 views
6

Olası Çoğalt:
Solving a linear equationiyi yolu

Ben programlı C# lineer denklem sistemini çözmek gerekir

VE VB

İşte bir denklemlerin bir örneği:

12.40 = a * 56.0 + b * 27.0 + tx 
-53.39 = a * 12.0 + b * 59.0 + tx 
14.94 = a * 53.0 + b * 41.0 + tx 

a, b ve tx için en iyi yaklaşımı almak istiyorum.

Bir çeşit matris sınıfı veya benzeri bir şey kullanmalı mıyım?

+0

http://www.codeproject.com/KB/cs/CSML.aspx kullanmak çözmek için? –

+0

Ayrıca bakınız: http://stackoverflow.com/questions/769/solving-a-linear-equation –

cevap

1

i zaten bu soruyu gördüğüm düşünüyorum: Solving a linear equation

+0

Dil biraz farklı, ama yöntem aynı ve algoritmalardan bahsediyor gibiyiz, evet, bu soruda yeni bir şey yok. –

+5

Yorumlar. Yinelenenlerin tanımlanması yorumlara aittir. – dmckee

+0

@dmckee: +1 +1 +1 +1 –

3

Gauss-Jordan eliminasyonu çözme yöntemi anlamak en basit ve en kolay Böyle bir eş zamanlı doğrusal denklem sistemi. LU ayrıştırması biraz daha sayısal olarak kararlı, ancak matrisiniz kötü bir şekilde ayarlanmış görünmüyor, bu yüzden fazladan karmaşıklığa ihtiyacınız olduğunu düşünmüyorum.

+0

Gauss Eliminasyonu demek istediğim şeydi, ama 3.55'te, nedense başım Simplex dedi! Rektifiye. http://en.wikipedia.org/wiki/Gaussian_elimination – Orbling

+0

ah evet, simplex'in gauss eliminasyonunu içeren bir adımı vardır, diğer adımlar, denklemlerin hangi kombinasyon kombinasyonlarının uygun bölgede bir çözüm verdiğini belirlemek ve bitişik noktalara geçmek için kullanılır. geliştirilmiş hedef işlevi doğrultusunda. Tabii ki, burada sadece 10PM avantajı var ve beynim henüz bir fuzz değil. –

2

kullanın Cramer's Rule kuralla doğrusal denklemleri çözmek kolaydır.

Sen en yakın sonucu demek, böylece matris her zaman kare ve iyi klimalı olacağını biliyoruz matrisler