栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

改进Euler算法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

改进Euler算法

改进Euler算法

在Euler算法的基础上,将算出的x1,y1值作为已知量,算出x1点的斜率。将x1,x0点的斜率加和求平均,再带入公式重新计算x1,y1,从而使其数值更加精确。

代码如下:

import matplotlib.pyplot as plt
import numpy as np
x1 = np.zeros(100)
y1 = np.ones(100)
for i in range(1, 100):
    y1[i] = 1.1*y1[i-1]-0.2*x1[i-1]/y1[i-1]
    x1[i] = x1[i-1] + 0.1

    y1[i] = y1[i-1] + 0.5 * 0.1 * (y1[i-1] - 2 * x1[i-1] / y1[i-1] + y1[i] - 2 * x1[i] / y1[i])

    print('('+str(x1[i]),','+str(y1[i])+')')

plt.plot(x1, y1)
plt.show()

输出结果:

(0.1 ,1.095909090909091)
(0.2 ,1.1840965692429972)
(0.30000000000000004 ,1.2662013608757763)
(0.4 ,1.3433601514839986)
(0.5 ,1.4164019285369094)
(0.6 ,1.485955602415669)
(0.7 ,1.5525140913261455)
(0.7999999999999999 ,1.6164747827520576)
(0.8999999999999999 ,1.6781663636751858)
(0.9999999999999999 ,1.7378674010354138)
(1.0999999999999999 ,1.795819744910657)
(1.2 ,1.8522385990502925)
(1.3 ,1.9073204178377563)
(1.4000000000000001 ,1.9612493906319577)
(1.5000000000000002 ,2.0142030360599446)
(1.6000000000000003 ,2.066357283013655)
(1.7000000000000004 ,2.1178913249274696)
(1.8000000000000005 ,2.1689924782789043)
(1.9000000000000006 ,2.2198612426004756)
(2.0000000000000004 ,2.2707167397657666)
(2.1000000000000005 ,2.32180269966453)
(2.2000000000000006 ,2.373394153728064)
(2.3000000000000007 ,2.4258049938401265)
(2.400000000000001 ,2.479396548830104)
(2.500000000000001 ,2.5345873206656235)
(2.600000000000001 ,2.5918640039575958)
(2.700000000000001 ,2.651793881429891)
(2.800000000000001 ,2.715038640456334)
(2.9000000000000012 ,2.7823695879838817)
(3.0000000000000013 ,2.854684151012614)
(3.1000000000000014 ,2.933023438205294)
(3.2000000000000015 ,3.0185905110668165)
(3.3000000000000016 ,3.1127688834370595)
(3.4000000000000017 ,3.2171406572597903)
(3.5000000000000018 ,3.3335036404708074)
(3.600000000000002 ,3.463886814144074)
(3.700000000000002 ,3.610563653263825)
(3.800000000000002 ,3.7760630779598796)
(3.900000000000002 ,3.963178213525007)
(4.000000000000002 ,4.17497362733908)
(4.100000000000001 ,4.414792214087622)
(4.200000000000001 ,4.686263321770158)
(4.300000000000001 ,4.993313958871075)
(4.4 ,5.340184940330469)
(4.5 ,5.7314536139138195)
(4.6 ,6.172064414060678)
(4.699999999999999 ,6.667368012258601)
(4.799999999999999 ,7.223169376499372)
(4.899999999999999 ,7.845784702735557)
(4.999999999999998 ,8.542106985508674)
(5.099999999999998 ,9.319679958975977)
(5.1999999999999975 ,10.186780237956594)
(5.299999999999997 ,11.152507679941849)
(5.399999999999997 ,12.226884230333258)
(5.4999999999999964 ,13.420961769562064)
(5.599999999999996 ,14.746939729248737)
(5.699999999999996 ,16.21829347387519)
(5.799999999999995 ,17.84991465230496)
(5.899999999999995 ,19.658264913448846)
(5.999999999999995 ,21.661544558967222)
(6.099999999999994 ,23.87987788061503)
(6.199999999999994 ,26.33551710791329)
(6.299999999999994 ,29.053067079707102)
(6.399999999999993 ,32.05973295633577)
(6.499999999999993 ,35.38559351224404)
(6.5999999999999925 ,39.063902795915986)
(6.699999999999992 ,43.13142321861969)
(6.799999999999992 ,47.62879343902265)
(6.8999999999999915 ,52.600934750675506)
(6.999999999999991 ,58.09750005719861)
(7.099999999999991 ,64.17336993952772)
(7.19999999999999 ,70.88920078491007)
(7.29999999999999 ,78.3120304630412)
(7.39999999999999 ,86.51594760583613)
(7.499999999999989 ,95.58283117943144)
(7.599999999999989 ,105.60316773632513)
(7.699999999999989 ,116.67695450897547)
(7.799999999999988 ,128.9146973613377)
(7.899999999999988 ,142.438513560194)
(7.999999999999988 ,157.38335037310654)
(8.099999999999987 ,173.89833165478177)
(8.199999999999987 ,192.1482458600679)
(8.299999999999986 ,212.31519033242316)
(8.399999999999986 ,234.60038827554496)
(8.499999999999986 ,259.226196538475)
(8.599999999999985 ,286.4383242480663)
(8.699999999999985 ,316.50828442619763)
(8.799999999999985 ,349.73610305352815)
(8.899999999999984 ,386.453312610083)
(8.999999999999984 ,427.02625996117456)
(9.099999999999984 ,471.8597615934036)
(9.199999999999983 ,521.4011426710407)
(9.299999999999983 ,576.1447002125341)
(9.399999999999983 ,636.6366349184332)
(9.499999999999982 ,703.480500857871)
(9.599999999999982 ,777.3432273875713)
(9.699999999999982 ,858.9617733866827)
(9.799999999999981 ,949.1504801995557)
(9.89999999999998 ,1048.80919664982)

输出函数图像:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号