Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168695
Image: ubuntu2004
#Definición de constantes H0He = 0.1 Hude = 0.5 H1e = 0.1 va = 1 c0=H0He c1=H1e+Hude c2=c0 c3=3*H1e+Hude c5=2*H1e
#simple Runga-Kutta Order 4 t, y, z = var('t, y, z') f(t,y,z) = z g(t,y,z) = -va*z-c5*y**5+c3*y**3-c2*y**2-c1*y+c0 start = 0.0 end = 100.0 numOfIterations = 200 h = (end-start)/numOfIterations y00 = 0.0 #initial value z00 = 0.0001 #initial value t00 = start; soln = [[t00,y00,z00]] for i in range(0,numOfIterations+1): print "%10r %20r %20r"%(t00,y00,z00) k1 = f(t00,y00,z00) l1 = g(t00,y00,z00) k2 = f(t00+h/2,y00+k1/2,z00+l1/2) l2 = g(t00+h/2,y00+k1/2,z00+l1/2) k3 = f(t00+h/2,y00+k2/2,z00+l2/2) l3 = g(t00+h/2,y00+k2/2,z00+l2/2) k4 = f(t00+h,y00+k3,z00+l3) l4 = g(t00+h,y00+k3,z00+l3) y00 = y00+h/6*(k1+2*k2+2*k3+k4) z00 = z00+h/6*(l1+2*l2+2*l3+l4) t00=t00+h soln.append([t00,y00,z00])
WARNING: Output truncated!
0.000000000000000 0.000000000000000 0.000100000000000000 0.500000000000000 0.0175245758655960 0.0288023915076798 1.00000000000000 0.0414491788293146 0.0431900193473535 1.50000000000000 0.0669820083325235 0.0477783581826215 2.00000000000000 0.0911468875517960 0.0461634719508687 2.50000000000000 0.112322423680420 0.0410504643702941 3.00000000000000 0.129834133253889 0.0343532073509199 3.50000000000000 0.143621439658641 0.0273353060540151 4.00000000000000 0.153985044617906 0.0207612239173980 4.50000000000000 0.161407466244995 0.0150351444682380 5.00000000000000 0.166433358603515 0.0103162973927770 5.50000000000000 0.169595158692144 0.00660810732150150 6.00000000000000 0.171371247920510 0.00382341174739922 6.50000000000000 0.172166367235671 0.00182994780557542 7.00000000000000 0.172306536037201 0.000480556844606431 7.50000000000000 0.172042836414633 -0.000367955772570700 8.00000000000000 0.171560079979205 -0.000844099770078073 8.50000000000000 0.170987632168087 -0.00105661891778602 9.00000000000000 0.170410608389535 -0.00109315211792336 9.50000000000000 0.169880347911124 -0.00102122608284333 10.0000000000000 0.169423569655200 -0.000890556730113131 10.5000000000000 0.169049961320755 -0.000735941950340638 11.0000000000000 0.168758183314553 -0.000580266161094672 11.5000000000000 0.168540409845624 -0.000437318245006533 12.0000000000000 0.168385604685709 -0.000314258328472116 12.5000000000000 0.168281757976901 -0.000213663634582627 13.0000000000000 0.168217308754591 -0.000135146976672644 13.5000000000000 0.168181957702080 -0.0000765803783105495 14.0000000000000 0.168167045049411 -0.0000349770812877020 14.5000000000000 0.168165635751398 -7.09318889303128e-6 15.0000000000000 0.168172422207012 0.0000101902525037387 15.5000000000000 0.168183526198647 0.0000196494253156030 16.0000000000000 0.168196257584736 0.0000236169176965961 16.5000000000000 0.168208867877188 0.0000239595596438861 17.0000000000000 0.168220321946655 0.0000221052083886899 17.5000000000000 0.168230100194476 0.0000190965017571450 18.0000000000000 0.168238035948718 0.0000156561148355960 18.5000000000000 0.168244187899817 0.0000122532838915122 19.0000000000000 0.168248744452889 9.16536868342379e-6 19.5000000000000 0.168251955385600 6.53115583178613e-6 20.0000000000000 0.168254085707378 4.39464201313425e-6 20.5000000000000 0.168255386759689 2.73936136825112e-6 21.0000000000000 0.168256080109569 1.51410845608590e-6 21.5000000000000 0.168256350477353 6.51305363228012e-7 22.0000000000000 0.168256344674364 7.93917736899024e-8 22.5000000000000 0.168256174225715 -2.69423858588227e-7 23.0000000000000 0.168255919971284 -4.54853208164074e-7 23.5000000000000 0.168255637454181 -5.26644549814760e-7 24.0000000000000 0.168255362317027 -5.24312733685804e-7 24.5000000000000 0.168255115239115 -4.77857205707048e-7 25.0000000000000 0.168254906174732 -4.09009149996536e-7 25.5000000000000 0.168254737809330 -3.32687853156603e-7 26.0000000000000 0.168254608250950 -2.58457015560775e-7 26.5000000000000 0.168254513033035 -1.91855871595487e-7 27.0000000000000 0.168254446533345 -1.35541047866377e-7 27.5000000000000 0.168254402921759 -9.02171117128572e-8 28.0000000000000 0.168254376744905 -5.53607865422772e-8 28.5000000000000 0.168254363243382 -2.97595426398855e-8 29.0000000000000 0.168254358481807 -1.18929000715457e-8 ... 70.5000000000000 0.168254401781027 -2.77955956327172e-17 71.0000000000000 0.168254401781027 -1.62182662041984e-17 71.5000000000000 0.168254401781027 -1.11500580153864e-17 72.0000000000000 0.168254401781027 -7.66566488557814e-18 72.5000000000000 0.168254401781027 -5.27014460883497e-18 73.0000000000000 0.168254401781027 -3.62322441857404e-18 73.5000000000000 0.168254401781027 -2.49096678776965e-18 74.0000000000000 0.168254401781027 -1.71253966659164e-18 74.5000000000000 0.168254401781027 -1.17737102078175e-18 75.0000000000000 0.168254401781027 -8.09442576787453e-19 75.5000000000000 0.168254401781027 -5.56491771541374e-19 76.0000000000000 0.168254401781027 -3.82588092934695e-19 76.5000000000000 0.168254401781027 -2.63029313892603e-19 77.0000000000000 0.168254401781027 -1.80832653301164e-19 77.5000000000000 0.168254401781027 -1.24322449144550e-19 78.0000000000000 0.168254401781027 -8.54716837868785e-20 78.5000000000000 0.168254401781027 -5.87617826034790e-20 79.0000000000000 0.168254401781027 -4.03987255398918e-20 79.5000000000000 0.168254401781027 -2.77741238086756e-20 80.0000000000000 0.168254401781027 -1.90947101184645e-20 80.5000000000000 0.168254401781027 -1.31276132064443e-20 81.0000000000000 0.168254401781027 -9.02523407943047e-21 81.5000000000000 0.168254401781027 -6.20484842960845e-21 82.0000000000000 0.168254401781027 -4.26583329535581e-21 82.5000000000000 0.168254401781027 -2.93276039055712e-21 83.0000000000000 0.168254401781027 -2.01627276850802e-21 83.5000000000000 0.168254401781027 -1.38618752834926e-21 84.0000000000000 0.168254401781027 -9.53003925740119e-22 84.5000000000000 0.168254401781027 -6.55190198946332e-22 85.0000000000000 0.168254401781027 -4.50443261775603e-22 85.5000000000000 0.168254401781027 -3.09679742470727e-22 86.0000000000000 0.168254401781027 -2.12904822948625e-22 86.5000000000000 0.168254401781027 -1.46372065777180e-22 87.0000000000000 0.168254401781027 -1.00630795221811e-22 87.5000000000000 0.168254401781027 -6.91836717149951e-23 88.0000000000000 0.168254401781027 -4.75637743040591e-23 88.5000000000000 0.168254401781027 -3.27000948340406e-23 89.0000000000000 0.168254401781027 -2.24813151984029e-23 89.5000000000000 0.168254401781027 -1.54559041989020e-23 90.0000000000000 0.168254401781027 -1.06259341367451e-23 90.5000000000000 0.168254401781027 -7.30532971901229e-24 91.0000000000000 0.168254401781027 -5.02241418182095e-24 91.5000000000000 0.168254401781027 -3.45290975000190e-24 92.0000000000000 0.168254401781027 -2.37387545312631e-24 92.5000000000000 0.168254401781027 -1.63203937402434e-24 93.0000000000000 0.168254401781027 -1.12202706964173e-24 93.5000000000000 0.168254401781027 -7.71393610378690e-25 94.0000000000000 0.168254401781027 -5.30333107135350e-25 94.5000000000000 0.168254401781027 -3.64604011155553e-25 95.0000000000000 0.168254401781027 -2.50665257669443e-25 95.5000000000000 0.168254401781027 -1.72332364647742e-25 96.0000000000000 0.168254401781027 -1.18478500695322e-25 96.5000000000000 0.168254401781027 -8.14539692280342e-26 97.0000000000000 0.168254401781027 -5.59996038442735e-26 97.5000000000000 0.168254401781027 -3.84997276429381e-26 98.0000000000000 0.168254401781027 -2.64685627545199e-26 98.5000000000000 0.168254401781027 -1.81971368937324e-26 99.0000000000000 0.168254401781027 -1.25105316144411e-26 99.5000000000000 0.168254401781027 -8.60099048492822e-27 100.000000000000 0.168254401781027 -5.91318095838815e-27
t = [soln[i][0] for i in xrange(len(soln))] y = [soln[i][1] for i in xrange(len(soln))] z = [soln[i][2] for i in xrange(len(soln))] line(zip(t, y))
line(zip(y, z))
r = line(zip(t,y)) r.save('prueba.png')