Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet ilyen egyenleteke...

Hogyan lehet ilyen egyenleteket megoldani C-ben?

Figyelt kérdés

Adott egy egyenlet:

(5/(x+3))+(2/x+2)+(3/(6+x)+(3/1+k))=10

Hogyan lehetne megoldani C-ben,hogy megkapjam az x értékét? (x = -0.508653377).



2018. ápr. 11. 22:45
 1/7 tabaki ***** válasza:
100%

Ha agyonüt is érte #2, mégsem tagadhatom meg azt a bolond vajszívemet, itt a jótanács:


Legyen a (fene tudja, honnan odakeveredett) k értéke 6.37869, mert anélkül x = -0.508653377 a büdös életbe' nem ad ki 10-et ebben az egyenletben.

2018. ápr. 12. 02:03
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Elnézést, elég fáradtam írtam az egyenletet, tele van hibákkal:

(5/(x+3))+(2/(x+2))+(3/(6+x))+(3/(1+x))=10

Ha csak simán x lenne a nevezoben, akkor nagyon egyszeru lenne kiszámolni. Már elég sokat gondolkodtam rajta, de nem tudok rájonni, milyen módszerrel lehetne. Ha kiszorzom a nevezokkel, akkor az elég bajos lenne. Ha addig novelném az x értékét ciklusban 0.000000001-el, amíg nem jon ki az eredmény, az meg elég hosszadalmas, és egyáltalán nem effektív.Nem kérem, hogy írjátok meg helyettem a kódot, csak egy kis segítség, hogy milyen módszerrel tudnám kifejezni?

2018. ápr. 12. 11:11
 3/7 anonim ***** válasza:
100%

4 megoldása van az egyenletnek


attól függ milyen általánosan akarod megoldani


legegyszerűbben lekódolni a hill-climb algoritmust lehet. addig keresed a random pontokat, amíg nem jutsz megoldáshoz.


aztán ott van még a genetikus algoritmus.


vagy keresel egy általános algoritmust ami tud nemlineáris egyeneleteket oldani, de az nem lesz egyszerű..

2018. ápr. 12. 11:31
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
51%

Paraméteres törtlineáris egyenlet.


Lényegében azt az algoritmust kell megvalósítani, amit az iskolában tanítanak:

*felszorozni az egészet a nevezőkkel (ez egy kicsit butább, mert nem keres közös nevezőt, de meg lehet azt is csinálni, csak bonyolultabb)

*összevonni a tagokat

*alkalmazni az első- vagy a másodfokú megoldóképletet (erre már van letölthető megoldó)


Ehhez kell jó reprezentáció, kell számláló és nevező, mindkettőben ismeretlen együtthatója, paraméter együtthatója, konstans, és kell tudni számolni velük (alapműveletek). Ki kell tudni írni őket.


Továbbá kell még hibakezelés, ha nem olyan egyenletet adnának, amire számítottál. Ha a programban bent adsz meg mindent, akkor ez nem gond.

2018. ápr. 12. 17:44
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
100%

Úgy látszik, én is fáradt vagyok, nem vettem észre, hogy nem olyan egyszerű a helyzet.


Programozás szempontjából nem lesz nehezebb, a Newton-módszert javaslom.

2018. ápr. 12. 17:46
Hasznos számodra ez a válasz?
 6/7 sharkxxx ***** válasza:
68%

Itt van egy lehetséges megoldás:

[link]

2018. ápr. 12. 20:47
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Köszönöm a válaszokat, már legalább tudom, hogy merre induljak el :)
2018. ápr. 12. 23:45

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!