【计算方法】python求解常微分方程|显式欧拉、改进欧拉、龙格库塔

显式欧拉

import numpy as np
from scipy.integrate import odeintdef f(x,y):return y-2*x/y
def f_ode(y,x):return y-2*x/ydef Explicit_Euler(f,a,b,y0,h):x_p = np.linspace(a,b,int(1/h)+1)n = len(x_p)value = np.zeros(n)value[0] = y0for i in range(1,n):value[i] = value[i-1]+h*f(x_p[i-1],value[i-1]) #x,y位置改了一下result=[i for j in odeint(f_ode,1,x_p) for i in j] #精确值,再转化为一维的for i in range(n):print('x={:.2f}时显式欧拉的误差为:{:.8f}'.format(x_p[i],abs(value[i]-result[i])))Explicit_Euler(f,0,1,1,0.2)

实验截图:

在这里插入图片描述


改进欧拉

import numpy as np
from scipy.integrate import odeintdef f(x,y):return y-2*x/y
def f_ode(y,x):return y-2*x/ydef Imporve_Euler(f,a,b,y0,h):x_p = np.linspace(a,b,int(1/h)+1)n = len(x_p)value = np.zeros(n)value[0] = y0for i in range(1,n):T1 = value[i-1]+h*f(x_p[i-1],value[i-1])T2 = value[i-1]+h*f(x_p[i],T1)value[i] = (T1+T2)/2result=[i for j in odeint(f_ode,1,x_p) for i in j] #精确值,再转化为一维的for i in range(n):print('x={:.2f}时显式欧拉的误差为:{:.8f}'.format(x_p[i],abs(value[i]-result[i])))Imporve_Euler(f,0,1,1,0.2)

实验截图:
在这里插入图片描述


龙格库塔

import numpy as np
from scipy.integrate import odeintdef f(x,y):return y-2*x/y
def f_ode(y,x):return y-2*x/ydef Runge_kutta(f,a,b,y0,h):x_p = np.linspace(a,b,int(1/h)+1)n = len(x_p)value = np.zeros(n)value[0] = y0for i in range(1,n):k1 = f(x_p[i-1],value[i-1])k2 = f(x_p[i-1]+h/2,value[i-1]+h/2*k1)k3 = f(x_p[i-1]+h/2,value[i-1]+h/2*k2)k4 = f(x_p[i-1]+h,value[i-1]+h*k3)value[i] = value[i-1]+h/6*(k1+2*k2+2*k3+k4)result=[i for j in odeint(f_ode,1,x_p) for i in j] #精确值,再转化为一维的for i in range(n):print('x={:.2f}时显式欧拉的误差为:{:.8f}'.format(x_p[i],abs(value[i]-result[i])))Runge_kutta(f,0,1,1,0.2)

实验截图:
在这里插入图片描述

方法显式欧拉误差改进欧拉误差龙格库塔误差
x=0.20.016784070.003450730.00001336
x=0.40.031692590.006671510.00002618
x=0.60.048255490.010464240.00004181
x=0.80.068633070.015409580.00006254
x=1.00.094897430.022153880.00009113

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43984.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Matlab】求解微分方程{上}(通解和特解)

求解微分方程 desolve函数实例1实例2实例3实例4 求解有条件的微分方程微分方程显示隐式解未找到显式解决方案时查找隐式解决方案求微分方程级数解为具有不同单边限制的函数指定初始条件(特解)练习题 desolve函数 S dsolve(eqn)求解微分方程eqn&#xf…

常微分方程数值解——差商、欧拉公式详细推导及代码实现

引言 在自然科学的许多领域特别是科学与工程计算中,经常会遇到常微分方程的求解问题。然而只有非常少数且十分简单的微分方程可以用初值等方法求得它们的解,多数只能近似方法求解。 一、预备知识 (差商的推导) 二、 一阶常微分方…

PINN解偏微分方程实例3(Allen-Cahn方程)

PINN解偏微分方程实例3之Allen-Cahn方程 1. Allen-Cahn方程2. 损失函数如下定义3. 代码4. 实验细节及复现结果参考资料 1. Allen-Cahn方程 考虑偏微分方程如下: u t − 0.0001 u x x 5 u 3 − 5 u 0 u ( 0 , x ) x 2 c o s ( π x ) u ( t , − 1 ) u ( t , 1 …

chatgpt赋能python:用Python解方程

用Python解方程 介绍 解方程是数学中最基础的技能之一,也是很多实际问题中必须掌握的技能。Python是一种功能强大的编程语言,通过它,我们可以编写程序来解方程。在本篇文章中,我们将介绍如何使用Python来解方程。 Python中的方…

PINN解偏微分方程--程函方程

目录 前言 一、什么是程函方程? 二、配置环境及库的导入 三、构建训练数据集 四、用Pytorch搭建PINN网络 1.网络搭建 2.一些基本参数变量的确定以及数据格式的转换 五、用Pytorch搭建PINN网络 六、查看loss下降情况 七、导入网络模型,输入验证数据&#…

【免费下载】2023年1月份热门报告合集(附下载链接)

省时查报告-专业、及时、全面的报告库 省时查方案-专业、及时、全面的方案库 2023年1月份省时查报告平台十大热门报告新鲜出炉,本期的热门报告关键词有:2023、趋势、投资、房地产、展望、消费、短视频、抖音、直播电商、零售等;快来看看都谁上…

【免费下载】2023年2月份热门报告合集(附下载链接)

省时查报告-专业、及时、全面的报告库 省时查方案-专业、及时、全面的方案库 2023年2月份省时查报告平台十大热门报告新鲜出炉,本期的热门报告关键词有:ChatGPT、AIGC、人工智能、情人节、营销、直播电商、跨境电商、数字化等;快来看看都谁上…

【免费下载】2023年3月份热门报告合集(附下载链接)

省时查报告-专业、及时、全面的报告库 省时查方案-专业、及时、全面的方案库 【限时免费】无需翻墙,ChatGPT4直接使用 2023年2月十大热门报告盘点 2023年3月份省时查报告平台十大热门报告新鲜出炉,本期的热门报告关键词有:ChatGPT、GPT4、小红…

初学Python到月入过万最快的兼职途径(纯干货)

不错过任何一次干赚钱干货 1.兼职薪资,附行哥工资单 2.兼职门槛,附学习知识清单 3.兼职途径,附入职考核过程 4.行哥的兼职感受 答应行友的第一篇赚钱干货推文来啦,行哥第一个在读书期间通过兼职赚到的10w收入,这也…

AIGC|我让AI来写今年高考作文

作者:谢凯 | 神州数码云基地-需求分析师 目录 一、人工智能究竟强在哪 //以ChatGPT为例,人工智能其优势何在? 二、BingAI如何处理高考作文 三、总结 一、人工智能究竟强在哪 随着ChatGPT(Chat Generative Pre-trained Transfo…

ChatGPT|谷歌首席决策科学家Cassie Kozyrkov介绍 ChatGPT

文章目录 介绍 ChatGPT!对抗网络GANs使用 ChatGPT 编写代码 大揭秘一些自动生成的废话 介绍 ChatGPT! 原文:地址 作者:Cassie Kozyrkov 谷歌首席决策科学家。 ❤️ 统计、ML/AI、数据、双关语、艺术、戏剧、决策科学。 有句话介绍…

新媒体如何借势进行热点营销

互联网营销时代,眼花缭乱的信息在消费者眼中总是昙花一现,碎片化的信息分散着当代人的注意力。为了聚焦用户碎片化的注意力,吸引消费者眼球,“蹭热点”就成为了各大品牌方“借势”惯用的方法。“蹭热点”其实就是借势营销&#xf…

2022年的告别

契子 2022年即将过去,没想到年末成了杨过。坐在家里电脑前,看了看窗外,回想了一整年的时光,虽然很多时刻有过彷徨迷茫,但总归都是成长。今年看了不少人性和哲学相关的书籍,其主要原因是因为在管理方面&…

基于Qt的网络音乐播放器(五)实现歌词滚动显示

2020博客之星年度总评选进行中:请为74号的狗子投上宝贵的一票! 我的投票地址:点击为我投票 文章目录 1.思路和效果图2.歌词的解析与存储3.onDurationChanged()4.总结 网络播放器系列: qt 布局和样式表基于Qt的网络音乐播放器&am…

为什么停更ROS2机器人课程-2023-

机器人工匠阿杰肺腑之言: 我放弃了ROS2课程 真正的危机不是同行竞争,比如教育从业者相互竞争不会催生ChatGPT…… 技术变革的突破式发展通常是新势力带来的而非传统行业的升级改革。 2013年也就是10年前在当时主流视频网站开启分享: 比如 …

chatgpt赋能Python-mac上的python

在Mac上使用Python编程的好处 作为一名有10年Python编程经验的工程师,我必须说Mac是一个出色的编程工作台。Mac操作系统本质上就是一个整合了各种开发工具的平台,为Python编程提供了很好的支持。这篇文章将介绍在Mac上使用Python编程的好处。 简单易用…

chatgpt赋能Python-python_bonjour

Python Bonjour: 通过Python实现Bonjour协议 介绍 Bonjour是苹果公司推出的一种新型、免配置的网络协议,它可以使局域网中的电脑、打印机、电话等各种设备自动发现及配置,从而促进了网络设备的普及。Python作为一种高效、简洁、易学的语言&…

chatgpt赋能Python-python_heic

Python处理HEIC文件-从未如此容易 如果你是摄影师或者只是经常在移动设备上拍照的人,你可能已经遇到过HEIC文件的问题。HEIC是苹果公司最新的图像格式,它在保存高质量图像的同时节省了存储空间。但是,许多人在处理HEIC文件时遇到了问题&…

chatgpt赋能Python-python_imessage

Python iMessage – 给你的消息通讯锦上添花 作为一款风靡全球的通讯工具,iMessage的使用率在近年来不断攀升。iMessage的简洁易用性以及其在安全性和隐私方面的优势,经常使得其成为个人和商业用户的首选。而Python iMessage,则为这项通讯工…

视频剪辑 图文教程

一米剪辑图文教程 AppStore 搜索:一米剪辑 可下载该APP,免费无广告。 一、提取视频 功能说明:提取视频是根据抖音视频链接地址提取无水印视频,能无痕提取抖音视频,并保存到自己的相册。 图文教程: 1、…