博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数字积分
阅读量:6327 次
发布时间:2019-06-22

本文共 718 字,大约阅读时间需要 2 分钟。

考虑如下的一阶微分方程:

$\frac{dx}{dt}=f(x,t)$

选取小的h,有如下结果:

$\frac{dx}{dt}=f(x,t)=\frac{x(t+h)-x(t)}{h}=\frac{x_k-x_{k-1}}{h}$

重写为如下形式:

$x_k=x_{k-1}+hf(x,t)$

使用下面的二阶线性微分方程作为例子:

$\frac{d^2x}{dt^2}=-\omega ^2x$

初始条件:

$x(0)=0$

$\frac{dx}{dt}=\omega$

其解析解为$x=\sin{\omega t}$

matlab程序如下(请忽视作为一个初学者的糟糕语法)

% Euler numerical integration for d(dx/dt)/dt = -omega*omega*x

w = 2;                      % w is omega
x = zeros(1, 1000);   % x init condition:=0
xd = w;                    % xd = dx/dt, init condition:=w
h=0.01;                    % step size
loop_times = 1;
for t = 0:h:9.99
    xdd = -w * w * x(loop_times);
    xd = xd + h*xdd;
    x(loop_times + 1) = x(loop_times) + h*xd;
    loop_times = loop_times + 1;
end
plot(x);
hold on;                     % put the following curve on the same plot
t = 0:h:9.99;
plot(sin(w*t));

转载地址:http://gmgaa.baihongyu.com/

你可能感兴趣的文章
7个神奇的jQuery 3D插件
查看>>
在线浏览PDF之PDF.JS (附demo)
查看>>
波形捕捉:(3)"捕捉设备"性能
查看>>
AliOS Things lorawanapp应用介绍
查看>>
美国人的网站推广方式千奇百怪
查看>>
java web学习-1
查看>>
用maven+springMVC创建一个项目
查看>>
linux设备驱动第四篇:以oops信息定位代码行为例谈驱动调试方法
查看>>
redis知识点整理
查看>>
Hello World
查看>>
Spring3全注解配置
查看>>
ThreadLocal真会内存泄露?
查看>>
IntelliJ IDEA
查看>>
低版本mybatis不能用PageHeper插件的时候用这个分页
查看>>
javaweb使用自定义id,快速编码与生成ID
查看>>
[leetcode] Add Two Numbers
查看>>
elasticsearch suggest 的几种使用-completion 的基本 使用
查看>>
04-【MongoDB入门教程】mongo命令行
查看>>
Hadoop HA元数据备份
查看>>
字符串与整数之间的转换
查看>>