Kezdőoldal » Számítástechnika » Programozás » Üdv mindenkinek! Hogy kell...

Anonymus 0402 kérdése:

Üdv mindenkinek! Hogy kell c++ -ban megcsinálni a többismeretlenes egyenletmegoldó képletet, mely kiszámolja a tényleges eredméneket?

Figyelt kérdés
2011. okt. 10. 19:52
 1/2 anonim ***** válasza:

Először is meg át kell látni a feladatot, kell rá egy megoldóképlet


ismeretlenek: x1,x2 ... xn

a1,a2 ... an nem 0 együtthatók

c konstans


Kanonikus alakba lévő n ismeretlenes egyenlet:

a1*x1+a2*x2+...an*xn+c = 0


(egy lehetséges)megoldóképlet:

x1=r1

x2=r2

...

xn=-(a1*r1+a2*r2+...+a(n-1)*r(n-1)+c)/an


r1,r2,r3 ... r(n-1) tetszőleges értékek.

Ha 1 megoldás van akkor végtelen sok megoldás van, pesze ha a felvehető értékek halmaza véges vagy bizonyos egyéb korlátozó tényezők esetében véges sok megoldás van.

Az r-ek egyfajta képen felvett értéke egy rögzített megoldás, az r-ek az összes módon való megválasztása az összes megoldás halmaza.


Hogy szoktak több ismeretlenes egyenletet/egyenletrendszert tárolni?

Az x-eket nem kell tárolni nem hordoz igazából semmi információt elég az együtthatókat tárolni.

Vagyis a1 a2 ... an c sorozatot elég tárolni. Ami igazából 1 tömb.

Egy megoldás is egy tömb. Ez alapján meg lehet oldani csak kódolni kell.

2011. okt. 10. 21:20
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

i := 1

j := 1

while (i ≤ m and j ≤ n) do

Find pivot in column j, starting in row i:

maxi := i

for k := i+1 to m do

if abs(A[k,j]) > abs(A[maxi,j]) then

maxi := k

end if

end for

if A[maxi,j] ≠ 0 then

swap rows i and maxi, but do not change the value of i

Now A[i,j] will contain the old value of A[maxi,j].

divide each entry in row i by A[i,j]

Now A[i,j] will have the value 1.

for u := i+1 to m do

subtract A[u,j] * row i from row u

Now A[u,j] will be 0, since A[u,j] - A[i,j] * A[u,j] = A[u,j] - 1 * A[u,j] = 0.

end for

i := i + 1

end if

j := j + 1

end while

2011. okt. 11. 23:02
Hasznos számodra ez a válasz?

További kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!