微分方程数值解

article/2025/8/27 23:11:16

 一阶问题举例:

高阶问题举例 :

 

 

常微分方程数值解:向前欧拉方法之一阶问题

clc,clear,close all;
a=0;%初始时刻
b=2*pi;%结束时刻
n=100;%离散点数量
x0=0;%初值
h=(b-a)/n;%步长
x=x0 + [0:n]*h;%离散点数组
fun=inline('sin(x)+y','x','y');
y0=1;

%计算
y(1)=y0;
for i=1:n       %迭代
    f=feval(fun,x(i),y(i));
    y(i+1)=y(i)+h*f;
end
plot(x,y,'o');

hold on

n=1000;
h=(b-a)/n;%步长
x=x0 + [0:n]*h;%离散点数组
for i=1:n
    f=feval(fun,x(i),y(i));
    y(i+1)=y(i)+h*f;
end
plot(x,y,'-');

常微分方程数值解:向前欧拉方法之高阶问题

clc,clear,close all;
a=1;%初始时刻
b=10;%结束时刻
n=100;%离散点数量
x0=1;%初值
h=(b-a)/n;%步长
x=x0 + [0:n]*h;%离散点数组
y0=[1,10,30];

%计算
y(1,:)=y0';
for i=1:n       %迭代
    f=feval('fun_3rd',x(i),y(i,:));%x是标量,y是向量
%feval()函数执行指定的函数。
%将想要执行的函数以及相应的参数一起作为feval()的参数,
%feval()的输出等于想要执行的函数的输出。
    f=f';
    y(i+1,:)=y(i,:)+h*f;
end
plot(x,y(:,1),'o');%所有的行的第一列

龙格库塔方法(精确度高):一阶问题

clc,clear,close all;
a=0;%初始时刻
b=2*pi;%结束时刻
n=1000;%离散点数量
x0=0;%初值
h=(b-a)/n;%步长
x=x0 + [0:n]*h;%离散点数组
fun=inline('sin(x)+y','x','y');
y0=1;%计算
y(1)=y0;
for i=1:n       %迭代k1=feval(fun,x(i),y(i));k2=feval(fun,x(i)+h/2,y(i)+h*k1/2);k3=feval(fun,x(i)+h/2,y(i)+h*k2/2);k4=feval(fun,x(i)+h,y(i)+h*k3);y(i+1)=y(i)+h*(k1+2*k2+2*k3+k4)/6;
end
plot(x,y,'o');

龙格库塔方法(精确度高):高阶问题

%龙格库塔方法
%高阶问题,内置函数
%[a,b]=ode45('fun_3rd',[1,10],[1 10 30])%x的范围,y的初值
%plot(a,b(:,1))
clc,clear,close all;
a=1;%初始时刻
b=10;%结束时刻
n=100;%离散点数量
x0=1;%初值
h=(b-a)/n;%步长
x=x0 + [0:n]*h;%离散点数组
y0=[1,10,30];%计算
y(1,:)=y0';
for i=1:n       %迭代k1=feval('fun_3rd',x(i),y(i,:));k1=k1';k2=feval('fun_3rd',x(i)+h/2,y(i,:)+h*k1/2);k2=k2';k3=feval('fun_3rd',x(i)+h/2,y(i,:)+h*k2/2);k3=k3';k4=feval('fun_3rd',x(i)+h,y(i,:)+h*k3);k4=k4';y(i+1,:)=y(i,:)+h*(k1+2*k2+2*k3+k4)/6;
endplot(x,y(:,1),'o');

改进欧拉方法:一阶问题

%向前欧拉法的改进方法
%改进欧拉方法
%一阶问题
clc,clear,close all;
a=0;%初始时刻
b=2*pi;%结束时刻
n=100;%离散点数量
x0=0;%初值
h=(b-a)/n;%步长
x=x0 + [0:n]*h;%离散点数组
fun=inline('sin(x)+y','x','y');
y0=1;%计算
y(1)=y0;
for i=1:n       %迭代k1=feval(fun,x(i),y(i));k2=feval(fun,x(i)+h,y(i)+h);y(i+1)=y(i)+h/2*(k1+k2);
end
plot(x,y,'o');

改进欧拉方法:高阶问题

%高阶问题
clc,clear,close all;
a=1;%初始时刻
b=10;%结束时刻
n=1000;%离散点数量
x0=1;%初值
h=(b-a)/n;%步长
x=x0 + [0:n]*h;%离散点数组
y0=[1,10,30];%计算
y(1,:)=y0';
for i=1:n       %迭代f1=feval('fun_3rd',x(i),y(i,:));%x是标量,y是向量f1=f1';f2=feval('fun_3rd',x(i)+h,y(i,:)+h);f2=f2';y(i+1,:)=y(i,:)+h/2*(f1+f2);
end
plot(x,y(:,1),'o');%所有的行的第一列

偏微分方程数值解:一维热传导方程

%偏微分方程数值解
%1.空间有多大
%2.时间有多长
%边界条件和初值
%显示向前欧拉算法
clc,clear,close all;
A=0.5;
xf=2;%边界点
T=0.1;%最后到达的时刻
M=50;%空间上分段,空间离散个数
N=100;%时间上分段,时间离散个数
fun0=inline('sin(pi*x)','x');%初值
bx0=inline('0');%左边界条件
bxf=inline('0');%右边界条件
dx=(xf-0)/M;%空间步长
dt=(T-0)/N;%时间步长
x=[0:M]'*dx;%空间离散点
t=[0:N]'*dt;%时间离散点
r=A*dt/dx/dx;
r1=1-2*r;for i=1:M+1  %离散初始时刻的值u(i,1)=feval(fun0,x(i));
endfor n=1:N+1   %边界条件u([1,M+1],n)=[bx0(t(n));bxf(t(n))];
endfor k=1:Nfor i=2:Mu(i,k+1)=r*(u(i+1,k)+u(i-1,k))+r1*u(i,k);end
endmesh(t,x,u)


http://chatgpt.dhexx.cn/article/SOq2cDZM.shtml

相关文章

常微分方程数值解法1

1.牛顿迭代法 多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。牛顿迭代法使用函数 的泰勒级数的前面几项来寻找方程 的根。牛顿迭代法是求方程根的重要方法之一,其最大…

差分、偏微分方程的解法

这里写目录标题 微分方程数值求解——有限差分法matlab代码差分法的运用(依旧是连续变量——>离散网格点) PDE求解思路demo1demo2 微分方程数值求解——有限差分法 差分方法又称为有限差分方法或网格法,是求偏微分方程定解问题的数值解中…

微分方程数值解法(2)——椭圆型方程的有限差分法

此处参考教材为李荣华的《微分方程数值解法》 使用工具:Matlab 1. 算法:矩形网格上5点差分格式 2. 算法 I.需要求解的函数 function [v,vx,vy,f,aa,bb,cc,dd]u2D(x,y,ft)% ft为方程编号,u1D为精确解函数u(t),注意与…

基础数学(8)——常微分方程数值解法

文章目录 期末考核方式基础知识解析解(公式法)解析解例题(使用公式法,必考)解析解的局限性 数值解数值解的基本流程 显示Euler法显示欧拉(差值理解)显示欧拉(Taylor展开理解&#xf…

微分方程数值解法(1)——常微分方程初值问题的数值解法

此处参考教材为李荣华的《微分方程数值解法》 使用工具:Matlab 1. 算法 注: 最后一行应为k4,上面为笔误 2. 算法 I.需要求解的函数 function ff1D(t,u,ft)% ft为方程编号,u1D为精确解函数u(t),注意与f1D对应右端项函数f(t,u(t))switch ftcase 1 %P10…

偏微分方程数值解法pdf_天生一对,硬核微分方程与深度学习的联姻之路

机器之心原创 作者:蒋思源 微分方程真的能结合深度神经网络?真的能用来理解深度神经网络、推导神经网络架构、构建深度生成模型?本文将从鄂维南、董彬和陈天琦等研究者的工作中,窥探微分方程与深度学习联袂前行的路径。 近日&…

椭圆型偏微分方程数值解法

一、 一维椭圆方程数值解 matlab代码&#xff1a; function chap2_fdm_elliptic_1D % 一维椭圆方程求解(常微分方程边值问题) % -u q(x)u f(x), 0<x<1, 取q(x) x, f(x) (x-1)exp(x) % u(0) 1, u(1) e; 边界条件 % 真解为 u exp(x)N 20; h 1/N; x_al…

Python小白的数学建模课-11.偏微分方程数值解法

偏微分方程可以描述各种自然和工程现象&#xff0c; 是构建科学、工程学和其他领域的数学模型主要手段。 偏微分方程主要有三类&#xff1a;椭圆方程&#xff0c;抛物方程和双曲方程。 本文采用有限差分法求解偏微分方程&#xff0c;通过案例讲解一维平流方程、一维热传导方程…

偏微分方程数值解法pdf_单摆-微分方程浅谈

引子[1] 单摆&#xff0c;这个在中学物理都学过的东西&#xff0c;应该是非常熟悉了。 图片来源-维基百科 小角度简单摆 若最高处( )的绳子和最低处(速度最大值)的绳子的角度为 &#xff0c;则可使用下列公式算出它的振动周期。 公式证明 摆球受力分析 绳与对称线夹角为 &…

偏微分方程数值解法pdf_数值模拟偏微分方程的三种方法:FDM、FEM及FVM

偏微分方程数值模拟常用的方法主要有三种:有限差分方法(FDM)、有限元方法(FEM)、有限体积方法(FVM),本文将对这三种方法进行简单的介绍和比较。 一.有限差分方法 有限差分方法(Finite Difference Methods)是数值模拟偏微分方程最早采用的方法,至今仍被广泛运用。该方法包括区…

正圆锥体空间方程_数值模拟偏微分方程的三种方法:FDM、FEM及FVM

偏微分方程数值模拟常用的方法主要有三种:有限差分方法(FDM)、有限元方法(FEM)、有限体积方法(FVM),本文将对这三种方法进行简单的介绍和比较。 一.有限差分方法 有限差分方法(Finite Difference Methods)是数值模拟偏微分方程最早采用的方法,至今仍被广泛运用。该方法包括区…

抖音图标

抖音图标&#xff1a; 1.创建一张画布&#xff0c;再用圆角矩形工具创建一个圆角矩形 2.新建一个图层&#xff0c;用椭圆选框工具创建一个圆&#xff0c;再alt键从选区减去一个圆 3.再填充一个颜色&#xff0c;再剪切1/4圆接着粘贴拖拽至右上方 4.新建一个图层&#xff0c;用…

抖音图标——ps

抖音图标 1.用圆角矩形工具画个圆角&#xff08;空格键可以移动&#xff09;&#xff0c;填充为黑色&#xff0c;把此图层转换为珊格式化 2.再新建一个图层&#xff0c;用椭圆选框工具画个换个环&#xff08;用alt会出现&#xff0c;shift会出现加号&#xff09; 3.Ctrlx剪…

抖音软件分析

前几天看了看关于短视频软件的火的一些话题&#xff0c;就去看了看关于抖音的&#xff0c;对于抖音是那几个方面&#xff0c;自己也去做了一些分析&#xff0c;首先是在两个方面去做的一个理解&#xff0c;一个是软件制作&#xff0c;一个是商业运营。 软件制作 在抖音的软件…

仿抖音视频自动播放html,vue 仿抖音视频播放切换

一、第一部分html页面的准备 {{item.title}} {{item.introduction}} 二、数据说明部分 data() {let u = navigator.userAgent; return {showSlide: 0, allLoaded: false, //数据是否全部加载完 page: 1, isLoading: true, option: {}, current: 0, videoList: [], isVideoShow:…

抖音账号官方认证

介绍 认证功能入口 【我】—【创作者服务中心】— 【官方认证】 抖音黄V是什么&#xff1f; 抖音黄V是抖音平台对个人能力与专业性的认可。换句话讲&#xff0c;黄V即能体现个人身份标签又可以获得官方在内容发布的“豁免权”。如未认证的用户去进行科普&#xff0c;轻则警…

仿抖音首页界面

目录 效果图 顶部相关代码 顶部效果图 内容相关代码 内容效果图 底部导航栏相关代码 底部导航栏效果图 完整代码 html css js ​flexible.js 要想做出抖音短视频的首页界面&#xff0c;我们要引用swiper插件、还需要用到iconfont图标&#xff08;可自行到官网上下载…

抖音小程序Tiktok开发教程之 基础组件 04 icon 图标组件

什么是icon组件? icon是图标组件 icon组件运行效果 icon组件如何使用呢? 首先,在ttml界面中添加下面代码 <view class="container"><view class="body"><view class="page-section page-default"><view class="…

分享图片或链接到抖音

目录 前言 一、官方文档 二、开始配置 第一步&#xff1a;向抖音短视频申请你的 clientkey 及相关权限 第二步&#xff1a;集成到开发环境 1.根目录下build.gradle引入库 2.app moudel目录下build.gradle引入库 3.配置抖音的软件包可见性 使用一&#xff1a;Android-分…

仅用一个 HTML 标签,实现带动画的抖音 Logo

作者 | 零一 来源 | 前端印象 今天给大家表演 仅用一个HTML标签实现带动画的抖音LOGO&#xff0c;涉及了很多知识点&#xff0c;欢迎交流讨论 先上结果&#xff0c;最终实现效果如下&#xff1a; 成品图 还原度应该还可以吧&#xff1f; 抖音Logo结构 想要用CSS来画抖音的Logo&…