• Register

Kako določim prvi približek za sekantno metodo?

0 votes
83 views
Sam sem vnesel takole kodo vendar vrže error. Razumem, da je problem v tem, da je prvi približek izven toleranc . Če popravim toleranco, tako da ne bo errorja sumim, da to ni pravi način. v nalogi pa tudi ni podan tak začetni približek, da bi delovalo ali pa jaz ne razumem naloge. Pa v nalogi je vbistvu podan samo en začetni približek za sekantno sta potrebna pa dva, oziroma kako se sploh določi, da gre od skrajne desne lege, če pa se po razpolovitvi območja metoda ''sama odloči'' katero 0 bo iskala.

 

def f(x):
    return F*x-((w*x**3)/(6*l))
import scipy
from scipy.optimize import newton
odgovor2 = scipy.optimize.newton(f, x0=l, maxiter=1)#?
odgovor2

Upam, da ne sprašujem in objavljam prepovedanega.
asked May 12 by mihababic (190 points)
edited May 12 by mihababic

1 Answer

0 votes
Navodilo naloge je res nerodno napisano, Nalogo bomo popravili, ste dobili točke.

Hvala za opzorilo.
answered May 12 by dgorjup (64,590 points)
Hvala, lahko še komentar kako pridem do pravilnega rezultata oziroma kaj je bilo v bistvu vprašanje, ki bi ustrezalo?
Seveda, naloga je zahtevala lastno implementacijo ene iteracije sekantne metode, kar bi bilo najlažje narediti z lastno kodo (funkcija `newton` ne vrača rezultata, če izberete zelo nizko vrednost `maxiter`, temveč vrednost samo izpiše, kot ste sami ugotovili).
Pri v navodilu ni bilo jasno navedeno, kaj naj bo drugi začetni približek sekantne metode. Pravilna rešitev bi zahtevala začetna približka [l/2, l].
...