» »

Računanje ničle polinoma

Računanje ničle polinoma

Sergio ::

Za domačo nalogo pišem program, ki mora izračunati ničlo polinoma.

Polinom je lahko največ 5. stopnje, natančnost iskanja (ako pride do brute-force) je največ 0.0001 (inkrement x vrednosti).

Program se prekine, ko najde prvo ničlo.

Mi date kakšen polinom, s katerim bi stestiral pravilnost programa?

Hvala.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.
  • premaknil: Sergio ()

Thomas ::

-13x^5+23x^4+9x^3-12x^2-13x+9=0
Man muss immer generalisieren - Carl Jacobi

CaqKa ::

kaj če pa nima ničle?
mogoče se pa najde ktera zloba, ki ti bo dala takega, ki nima ničle ;)
Program se prekine, ko najde prvo ničlo.
drugače lahko tole dolgo traja ;)

Sergio ::

Thomas: Program pravi 1.75. Ne vem, ce je res (po pravici se mi ne da rocno vnasat vrednosti). A bo? ;)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Sergio ::

Še potek...

p.s.: Sem popolni začetnik, kar se tiče programiranja.

Pozor, log:

bash-2.05$ ./dn05
Vpisi stopnjo polinoma (med 0 in 5): 5
Vpisite koeficient pri stopnji x^5: -13
Vpisite koeficient pri stopnji x^4: 23
Vpisite koeficient pri stopnji x^3: 9
Vpisite koeficient pri stopnji x^2: -12
Vpisite koeficient pri stopnji x^1: -13
Vpisite koeficient pri stopnji x^0: 9


Nicle bomo iskali nad polinomom - 13*x^5 + 23*x^4 + 9*x^3 - 12*x^2 - 13*x + 9.


Vnesite natancnost iskanja (najmanj 0.0001 ter najvec 0.1): 0.01
Vnesite spodnjo mejno tocko (na 0.01 natancno): -10
Vnestite zgornjo mejno tocko (na 0.01 natancno): 10
Iscem niclo v polinomu med mejama -10 ter 10, natancnost 0.01.
Pri podani natancnosti iskanja se interval razdeli na 2000 delov.

Zaradi zahtevnosti bomo preskakovali po 8 korakov
.Preskakujemo po 8 korakov.
Iscemo zamenjavo predznaka...Preverjam tocko -10, ki je izhodiscna. Vrednost polinoma 1.51994e+06.
Preverjam tocko 10, ki je koncna. Vrednost polinoma -1.06232e+06.
Preverjam tocko -9.92. Vrednost polinoma 1.46172e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.84. Vrednost polinoma 1.4053e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.76. Vrednost polinoma 1.35064e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.68. Vrednost polinoma 1.29768e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.6. Vrednost polinoma 1.2464e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.52. Vrednost polinoma 1.19675e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.44. Vrednost polinoma 1.14869e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.36. Vrednost polinoma 1.10218e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.28. Vrednost polinoma 1.05719e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.2. Vrednost polinoma 1.01368e+06. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.12. Vrednost polinoma 971612. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -9.04. Vrednost polinoma 930949. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.96. Vrednost polinoma 891656. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.88. Vrednost polinoma 853699. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.8. Vrednost polinoma 817043. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.72. Vrednost polinoma 781654. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.64. Vrednost polinoma 747500. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.56. Vrednost polinoma 714549. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.48. Vrednost polinoma 682767. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.4. Vrednost polinoma 652124. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.32. Vrednost polinoma 622588. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.24. Vrednost polinoma 594131. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.16. Vrednost polinoma 566721. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8.08. Vrednost polinoma 540330. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -8. Vrednost polinoma 514930. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.92. Vrednost polinoma 490491. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.84. Vrednost polinoma 466987. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.76. Vrednost polinoma 444391. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.68. Vrednost polinoma 422676. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.6. Vrednost polinoma 401816. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.52. Vrednost polinoma 381786. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.44. Vrednost polinoma 362560. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.36. Vrednost polinoma 344115. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.28. Vrednost polinoma 326427. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.2. Vrednost polinoma 309471. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.12. Vrednost polinoma 293225. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.04. Vrednost polinoma 277668. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.96. Vrednost polinoma 262775. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.88. Vrednost polinoma 248527. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.8. Vrednost polinoma 234902. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.72. Vrednost polinoma 221879. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.64. Vrednost polinoma 209438. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.56. Vrednost polinoma 197560. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.48. Vrednost polinoma 186226. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.4. Vrednost polinoma 175416. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.32. Vrednost polinoma 165112. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.24. Vrednost polinoma 155297. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.16. Vrednost polinoma 145952. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6.08. Vrednost polinoma 137061. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -6. Vrednost polinoma 128607. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.92. Vrednost polinoma 120574. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.84. Vrednost polinoma 112946. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.76. Vrednost polinoma 105708. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.68. Vrednost polinoma 98843.9. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.6. Vrednost polinoma 92339.7. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.52. Vrednost polinoma 86181.1. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.44. Vrednost polinoma 80354.2. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.36. Vrednost polinoma 74845.4. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.28. Vrednost polinoma 69641.7. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.2. Vrednost polinoma 64730.2. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.12. Vrednost polinoma 60098.5. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -5.04. Vrednost polinoma 55734.5. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.96. Vrednost polinoma 51626.6. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.88. Vrednost polinoma 47763.3. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.8. Vrednost polinoma 44133.7. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.72001. Vrednost polinoma 40727. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.64001. Vrednost polinoma 37532.9. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.56001. Vrednost polinoma 34541.3. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.48001. Vrednost polinoma 31742.5. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.40001. Vrednost polinoma 29127.1. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.32001. Vrednost polinoma 26686. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.24001. Vrednost polinoma 24410.4. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.16001. Vrednost polinoma 22291.8. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.08001. Vrednost polinoma 20322. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -4.00001. Vrednost polinoma 18493.1. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.92001. Vrednost polinoma 16797.5. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.84001. Vrednost polinoma 15227.7. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.76001. Vrednost polinoma 13776.7. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.68001. Vrednost polinoma 12437.7. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.60001. Vrednost polinoma 11204.2. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.52001. Vrednost polinoma 10069.8. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.44001. Vrednost polinoma 9028.53. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.36001. Vrednost polinoma 8074.58. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.28001. Vrednost polinoma 7202.4. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.20001. Vrednost polinoma 6406.67. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.12001. Vrednost polinoma 5682.31. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -3.04001. Vrednost polinoma 5024.48. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.96001. Vrednost polinoma 4428.53. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.88001. Vrednost polinoma 3890.05. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.80001. Vrednost polinoma 3404.85. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.72001. Vrednost polinoma 2968.91. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.64001. Vrednost polinoma 2578.46. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.56001. Vrednost polinoma 2229.88. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.48001. Vrednost polinoma 1919.77. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.40001. Vrednost polinoma 1644.91. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.32001. Vrednost polinoma 1402.26. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.24001. Vrednost polinoma 1188.96. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.16001. Vrednost polinoma 1002.31. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.08001. Vrednost polinoma 839.783. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -2.00001. Vrednost polinoma 699.012. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.92001. Vrednost polinoma 577.787. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.84001. Vrednost polinoma 474.047. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.76001. Vrednost polinoma 385.875. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.68001. Vrednost polinoma 311.496. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.60001. Vrednost polinoma 249.269. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.52001. Vrednost polinoma 197.684. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.44001. Vrednost polinoma 155.355. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.36001. Vrednost polinoma 121.016. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.28001. Vrednost polinoma 93.5149. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.20001. Vrednost polinoma 71.8107. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.12001. Vrednost polinoma 54.9656. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -1.04001. Vrednost polinoma 42.1412. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.960007. Vrednost polinoma 32.5937. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.880007. Vrednost polinoma 25.668. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.800007. Vrednost polinoma 20.793. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.720007. Vrednost polinoma 17.4766. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.640007. Vrednost polinoma 15.3003. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.560007. Vrednost polinoma 13.9142. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.480007. Vrednost polinoma 13.0321. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.400007. Vrednost polinoma 12.426. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.320007. Vrednost polinoma 11.9211. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.240007. Vrednost polinoma 11.3911. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.160007. Vrednost polinoma 10.7524. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -0.0800073. Vrednost polinoma 9.95966. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko -7.27177e-06. Vrednost polinoma 9.00009. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.0799927. Vrednost polinoma 7.88881. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.159993. Vrednost polinoma 6.66349. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.239993. Vrednost polinoma 5.37929. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.319993. Vrednost polinoma 4.10378. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.399993. Vrednost polinoma 2.91178. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.479993. Vrednost polinoma 1.8803. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.559993. Vrednost polinoma 1.08339. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.639993. Vrednost polinoma 0.587021. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.719993. Vrednost polinoma 0.444021. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.799993. Vrednost polinoma 0.688919. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.879993. Vrednost polinoma 1.33285. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 0.959993. Vrednost polinoma 2.35844. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.03999. Vrednost polinoma 3.7147. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.11999. Vrednost polinoma 5.3119. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.19999. Vrednost polinoma 7.01648. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.27999. Vrednost polinoma 8.64593. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.35999. Vrednost polinoma 9.96364. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.43999. Vrednost polinoma 10.6739. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.51999. Vrednost polinoma 10.4165. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.59999. Vrednost polinoma 8.76214. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.67999. Vrednost polinoma 5.20679. Zamenjava predznaka? Ne. Gremo na naslednjo tocko...
Preverjam tocko 1.75999. Vrednost polinoma -0.833144. Zamenjava predznaka? Da! Nastavljam novo izhodiscno tocko, podvajam natancnost...
1.67999Preskakujemo po 4 korakov.
Iscemo zamenjavo predznaka...Preverjam tocko 1.71999, ki je izhodiscna. Vrednost polinoma 2.53713.
Preverjam tocko 10, ki je koncna. Vrednost polinoma -1.06232e+06.
Preverjam tocko 1.75999. Vrednost polinoma -0.833144. Zamenjava predznaka? Da! Nastavljam novo izhodiscno tocko, podvajam natancnost...
1.71999Preskakujemo po 2 korakov.
Iscemo zamenjavo predznaka...Preverjam tocko 1.73999, ki je izhodiscna. Vrednost polinoma 0.94483.
Preverjam tocko 10, ki je koncna. Vrednost polinoma -1.06232e+06.
Preverjam tocko 1.75999. Vrednost polinoma -0.833144. Zamenjava predznaka? Da! Nastavljam novo izhodiscno tocko, podvajam natancnost...
1.73999Preskakujemo po 1 korakov.
Iscemo zamenjavo predznaka...Preverjam tocko 1.74999, ki je izhodiscna. Vrednost polinoma 0.0797253.
Preverjam tocko 10, ki je koncna. Vrednost polinoma -1.06232e+06.
Preverjam tocko 1.75999. Vrednost polinoma -0.833144. Zamenjava predznaka? Da! Nastavljam novo izhodiscno tocko, podvajam natancnost...
1.74999

----
Na zahtevani vneseni natancnosti iskanja nismo nasli nicle.
Najblizji priblizek nicli lezi pri tocki 1.74999.
----

bash-2.05$
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

Hja ... približno bo.

Dej postej surce program gor! Če ni tajen, seve.

:)
Man muss immer generalisieren - Carl Jacobi

Sergio ::

ni tajen

Še enkrat povdarjam: Nisem programer :)

Klikus!
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

Ma tole je čist ok. Nimaš kej!

;)
Man muss immer generalisieren - Carl Jacobi

Gizm0 ::

Jaz sem uporabil bisekcijo. Namesto da po korakih zmajšuješ x, pogledaš aritmetično sredino spodnje in zgornje meje. Potem pa pogledaš kakšna je vrednost funkcije v tej točki. Če je pozitiva, nastaviš novo zgornjo mejo, če je negativna pa novo spodnjo mejo.

še koda:
Polinom.c

DavidJ ::

>> kaj če pa nima ničle?
Polinomi lihih stopenj imajo vedno vsaj eno realno ničlo. :)
"Do, or do not. There is no 'try'. "
- Yoda ('The Empire Strikes Back')

snow ::

(koeficienti[i]*pow(x,i));

a += (double)(koeficient[n2] * pow(x,n2));

Ta pow je potenciranje a ne? Ne spoznam se ravno na programiranje zelo veliko.

Za izračun vrednosti polinoma lahko uporabita: Hornerjev algoritem. Dosti hitreje, saj sploh ne potencira :)

Zgodovina sprememb…

  • spremenilo: snow ()

bf4ed ::

:D Z tega sem jaz mel popravnega.>:D

CaqKa ::

>> kaj če pa nima ničle?
Polinomi lihih stopenj imajo vedno vsaj eno realno ničlo.


a to je letelo na to, da so polinomi od prve do pete stopnje lihi?
hotel sem povdarit to da mu lahko progy v primeru polinoma 2 ali pa 4 stopnje laufa v nedogled. -> bug.

Sergio ::

Moj se ustavi. Try it. ;)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

> Še enkrat povdarjam: Nisem programer :)

> Moj se ustavi. Try it. ;)

Kaj bi blo šele, če bi bil programer?

:D
Man muss immer generalisieren - Carl Jacobi

Sergio ::

Če bi _bil_ programer, bi zadevo napisal dosti bolje. V Javi. Ter izračunal VSE ničle.

1) Class, kjer inputaš koeficiente, zadeva izračuna vse možne Hornerje čezenj, javi ven ali false (ni več hornerja, ergo išči brute force), ali pa true, ter nove koeficiente za eno stopnjo znižanega polinoma, nad katerim potem rekurzivno izvajaš hornerja, dokler pač gre, ter si zapisuješ vse ničle.

2) Ko prideš do stopnje 2, bi sprogramiral class "izračunaj ničle kvadratne enačbe" ter izračunal do konca.

3) Če ne bi prišel do stopnje 2, bi uvedel tangentni kriterij ter pogledal, med katerima vrednostma se mi sploh splača iskati ničlo, ter jo izračunal na natančnost, ki jo pač v Javi omogoča vrednost double.

Edinole mi še ni jasno, kako bi izračunal sode ničle na brute force. Pa mora biti kakšen trik ;)

Če bi bil programer, se ve.
;)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

snow ::

Če ma polinom sodo ničlo(je ta lokalni maksimum ali minimum), po odvajanju dobiš polinom nižje stopnje, ki ima isto ničlo ampak lihe stopnje, to pa ti mogoče kaj pomaga. Se mi zdi da je tako... :\

Sergio ::

Evo, pa imamo še ta aspekt programa rešen. Napisat metodo, ki pa odvaja polinom, je pa stvar desetih minut.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

Vaja dela vajenca!

Zato ne preveč vadit, če hočete postat majstri!

:D
Man muss immer generalisieren - Carl Jacobi

Sergio ::

Če se zmenim z asistentom, da bo to dodatna naloga za nekaj potrebnih točk, se v tej temi še slišimo. Bomo iskali vse ničle. Po zgoraj opisani metodi.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

speed ::

Sergio poglej to: CLICK

se graf ti narise :)

bravo katko!

snow ::

Sodih ničel ne računa ta katkotov program.
Lepo pa je da ti nariše graf. A vseeno ne izračuna mi vsega tam. :)
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Sergio ::

Pa... Mogoče se motim, ampak -- za izračun sode ničle lahko polinom enostavno odvedeš, kjer bo soda ničla postala liha? Ali se motim?
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

Z odvajanjem izgubljaš ničle.

:)
Man muss immer generalisieren - Carl Jacobi

Sergio ::

Da. Izračunaš vse lihe ničle polinoma. Nato pa odvedeš, računaš ničle, odvedeš, računaš ničle, ponavljaš, dokler ne prideš do stopnje 0.

Soda ničla _bo_ postala liha. Ane? ;)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

Žal. Žal ne gre tako.

:)
Man muss immer generalisieren - Carl Jacobi

Sergio ::

Mi daš primer polinoma, kjer moj algoritem odpade? ;)
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

Kako boš dobil na ta način ven kompleksne ničle? :\
Man muss immer generalisieren - Carl Jacobi

Sergio ::

Hopa, to je pa drugo. Vedno sem bil mnenja, da je v tej temi govora o realnih ničlah.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

Thomas ::

http://mathworld.wolfram.com/AbelsImpossibilityTheorem.html

Bom later komentiral zadevo.

Dva načina sta, da določiš vse (magari realne) ničle polinoma. Numerični in ugibanje. Vključno ugibanje s korekturo.

:)
Man muss immer generalisieren - Carl Jacobi

snow ::

> Da. Izračunaš vse lihe ničle polinoma. Nato pa odvedeš, računaš ničle, odvedeš, računaš ničle, ponavljaš, dokler ne prideš do stopnje 0.

Izračunaš vse lihe ničle polinoma. Če je število ničel enako stopnji je konec. Če ni.. odvajaš in računaš ničle. Tokrat dobiš tiste ničle, ki so prej bile sode. Probaš nazaj v polinomu(2x deliš, oz 2x vstaviš v hornerja) in če je sedaj število ničel (vseh) enako stopnji polinoma si končal. Če ni... je možno da je kaka soda ničla večkratna kot 2x... če ni možno da obstajajo kompleksne ničle.

To je moje mnenje, nisem pa kaj dosti preverjal... malo razmišljal v tej smeri.

-> Abel's Impossibility Theorem

In general, polynomial equations higher than fourth degree are incapable of algebraic solution in terms of a finite number of additions, subtractions, multiplications, divisions, and root extractions. This was also shown by Ruffini in 1813 (Wells 1986, p. 59).


Ja to mi je znano. To nam je učitelj matematike rekel, da je pač bilo dokazano, da ne more obstajat postopek (algoritem), za izračun ničel polinoma stopnje 4 ali več. Če je to to? Ampak bisekcija pa to je pa druga stvar. To gre za uganjevanje ničel, ne za izračun.
Random mutation plus nonrandom cumulative natural selection - Richard Dawkins

Zgodovina sprememb…

  • spremenilo: snow ()

Thomas ::

Ja, v bistvu nimam kaj dodat. Ni "eksaktnega" algoritma.

Hec, ane?

:)
Man muss immer generalisieren - Carl Jacobi

perci ::

brute force ;)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Matematika

Oddelek: Šola
142978 (2258) lebdim
»

Graf polinoma & racionalne funkcije.

Oddelek: Šola
92452 (2177) Math Freak
»

Preprostejša matematična naloga

Oddelek: Šola
91143 (973) hawkwood
»

Podobnost dveh polinomov?

Oddelek: Programiranje
191337 (1022) Thomas
»

Kapitalizem

Oddelek: Sedem umetnosti
372107 (1716) Thomas

Več podobnih tem