Я использую программу метод Меллера, который я нашел в этой ссылке:Изменение параметра по уравнению с использованием метода Мюллера
http://adorio-research.org/wordpress/?p=297
В конце подпрограммы она вычисляет корень любого FUCTION вам вход:
if __name__ == "__main__":
def f(z):
return z**3 +1
xinit = 0.0
ztol = 1.0e-5
ftol = 1.0e-5
maxiter = 100
wantreal = False
nroots = 3
print zermuller(f, xinit, ztol, ftol, maxiter, wantreal, nroots)
Однако, я хочу, чтобы вычислить для уравнения как
z**3 +w
, где w
будет отличаться от 1 до 2 с шагом 0,1 или что-то в этом роде. Так что я пытался добавить команду, а в виде:
w = 8
while w < 9 :
w += 0.01 # Same as a = a + 1
if __name__ == "__main__":
def f(z):
return z**3 +w
xinit = 0.0
ztol = 1.0e-5
ftol = 1.0e-5
maxiter = 100
wantreal = False
nroots = 2
print zermuller(f, xinit, ztol, ftol, maxiter, wantreal, nroots)
Но это не делает ничего, вычисляет только для первого значения w
, делает любой знает, как я могу сделать его работу, или что было бы неправильно в моей команде while
.
'питон Безразлично» t, похоже, нравится, 'не помогает. Не могли бы вы быть более конкретными? – thefourtheye
Там вы идете! «Но он ничего не делает, только вычисляет для первого значения w» – Mac