< M A T L A B > Copyright 1984-2005 The MathWorks, Inc. Version 7.1.0.183 (R14) Service Pack 3 August 02, 2005 To get started, select MATLAB Help or Demos from the Help menu. >> % equazione di Keplero >> format long >> epsilon=0.9999 epsilon = 0.99990000000000 >> eta=6.28 eta = 6.28000000000000 >> kep a = 5.28010000000000 b = 7.27990000000000 fa = -0.15685033767959 fb = 0.16029258127883 numpassi = 45 c = 6.01624579599391 >> epsilon=0.001 epsilon = 1.000000000000000e-03 >> eta=1.5 eta = 1.50000000000000 >> kep a = 1.49900000000000 b = 1.50100000000000 fa = -0.00199742375067 fb = 2.434774953430363e-06 numpassi = 42 c = 1.50099756505523 >> % metodo iterativo >> epsilon=0.9999 epsilon = 0.99990000000000 >> eta=6.28 eta = 6.28000000000000 >> a=eta-abs(epsilon) a = 5.28010000000000 >> x=a x = 5.28010000000000 >> % questa e' l'operazione da ripetere piu' volte: >> x=epsilon*sin(x)+eta x = 5.43695033767959 >> for k=1:20 x=epsilon*sin(x)+eta end x = 5.53128464955011 x = 5.59704008481419 x = 5.64650387749853 x = 5.68552910638812 x = 5.71734976734649 x = 5.74393229567840 x = 5.76655619976442 x = 5.78609740005466 x = 5.80317977933142 x = 5.81826209970018 x = 5.83169067410361 x = 5.84373274529685 x = 5.85459843869152 x = 5.86445566011032 x = 5.87344048087887 x = 5.88166454763252 x = 5.88922047809726 x = 5.89618586165015 x = 5.90262627335269 x = 5.90859757758538 >> % occorrono parecchi passi, non stiamo a guardare tutti i risultati >> for k=1:20 x=epsilon*sin(x)+eta; end >> x x = 5.97396103158640 >> for k=1:200 x=epsilon*sin(x)+eta; end >> x x = 6.01621959975794 >> for k=1:200 x=epsilon*sin(x)+eta; end >> x x = 6.01624577705290 >> % vediamo quanto siamo lontani: >> kep a = 5.28010000000000 b = 7.27990000000000 fa = -0.15685033767959 fb = 0.16029258127883 numpassi = 45 c = 6.01624579599391 >>% in questo caso la bisezione arriva prima; ma dipende dai parametri della equazione. >>% provare altri valori ...