引言

科学问题和工程问题经常需要求取微分方程的解,MATLAB 的强大数值运算和符号运算能力,能够方便地进行各种解析运算,是方便实用、功能强大的数学软件之一。

1线性微分方程求解

1.1线性常微分方程求解[1]

线性常微分方程的求解函数有两种,一种是求取常微分方程的解析表达式,其函数是dsolve ;另一种是求取常微分方程的数值解,这种情况根据方程组是否刚性方程,分别选择三个解决非刚性问题的函数ode45、ode32、ode113,两个解决刚性问题的函数ode23s 、ode15s 。1.1.1常微分方程的解析解

在MATLAB 中,用大写字母D 表示导数。例如,Dy 表示y',D 2y 表示y '',Dy (0)=5表示y '(0)=5。D 3y +D 2y +Dy -x +5=0表示微分方程y'''+y''+y'-x +5=0。符号常微分方程求解可以通过函数dsolve 来实现,其调用格式为:

dsolve(f,c,v )

该函数求解常微分方程f 初值条件c 下的特解。参

数v 描述方程中的自变量,省略时按缺省原则处理,若没有给出初值条件c ,则求方程的通解。

例如:求一阶方程dy/dx =1+y 2在初值y (0)=1条件下的解析解的命令行如下:

》syms y

》dsolve('Dy=1+y^2','y(0)=1','x')

y =tan(x +1/4×pi)

这里要注意一个问题,如果要观察x,y 之间的曲线,我们在matlab 命令窗口用plot 命令绘图的时候,由于plot 命令实际使用了插值方法来绘图,为了绘制出y=∞及y=-∞这几条特殊曲线,步长的选择就很重要了,我们应该选取0.25π/T (T 为正整数)作为步长,这样,才能比

较精确的绘制出y 和x 之间的关系曲线。1.1.2常微分方程的数值解

数值解的函数调用格式为:[t,x ]=ode45(‘f_name ‘,[to,tf ],xo,tol)。

matlab 下的数值解函数只能处理一阶微分方程;因此,对于高阶微分方程,我们可用状态变量法将其降阶为一阶,然后再用函数求解。

例如求解方程y ’’-3(1-y ^2)y ’+y =0在初值y ’(0)=3,y(0)=2的解。

1)降阶:设y 1=y ,y 2=y ’,初值为:y ’(0)=3,y (0)=2,则:

y 1'=y 2

y 2'=3(1-y 1^2)y 2-y 1

!

y 1(0)=2

y 2

(0)=!3

2)编写M 文件(选取ode45来求解):function dy=ode (t,y )

dy =[y (2);3×(1-y (1)^2)×y (2)-y (1)];

将此文件存盘为matlab 默认目录下,文件名称为ode.m 文件

3)调用数值解函数

>>[t,y ]=ode45('ode',[0,30],[2;3])

1.1.3利用simulink 仿真工具箱求解常微分方程[2]

Simulink 仿真函数的调用格式为:[x,y ]=sim(′模型名称′,仿真终止时间,options)

例如:求一阶方程dy/dx =1+y 2在初值y (0)=1条件下的x,y 数值解或者关系曲线。

首先建立simulink 模型:见图1。

设置参数的时候,选择slover 的算法ode23s,选择合适的步长.设置积分器的初值为1,然后存盘为li3.mdl 文

图1方程d y/d x =1+y 2的Simulink

模型

第23卷第6期(总第105期)机械管理开发

2008年12月

Vol.23No.6(SUM No.105)MECHANICAL MANAGEMENT AND DEVELOPMENT

Dec .2008

作者简介:张江霞(1979-),女,陕西宜川人,讲师,大学本科毕业,研究方向:控制理论及其应用。

收稿日期:2008-05-28;修回日期:2008-07-26

利用MATLAB 求解微分方程的方法探索

张江霞

(陕西理工学院电气工程系,陕西

汉中

723003)

【摘

要】利用MATLAB 求解微分方程的方法有多种,针对常用的一些求取办法进行了归纳和总结,分别介绍了MATLAB 函数求解方法及SIMULINK 环境求解方法。【关键词】微分方程;MATLAB ;SIMULINK

【中图分类号】O175.4【文献标识码】A 【文章编号】1003-773X (2008)06-0048-02The Methods of Using Matlab to Solve the Differential Equations

ZHANG Jiang-xia

(Department of Electrical Engineering,Shannxi University of Technology,Hanzhong 723003,China )

〔Abstract 〕A certain methods can be used to solve the differential equations,this article summarize the popular methods that based on

Matlab,then introduce the function solving method and the simulink toolbox solving method.〔Key words 〕Differential equation ;MATLAB;Simulink

48··

matlab求解全微分函数,利用MATLAB求解微分方程的方法探索相关推荐

  1. 利用Matlab进行灰色预测,利用matlab进行灰色预测.pdf

    利用matlab进行灰色预测,灰色预测matlab程序,灰色预测模型matlab,matlab灰色预测,matlab灰色预测代码,matlab灰色预测工具箱,灰色预测的matlab程序,matlab灰 ...

  2. matlab或_如何利用MATLAB计算圆周率

    圆周率是圆的周长与直径的比值,一般用希腊字母π表示,是一个在数学及物理学中普遍存在的数学常数.π也等于圆形之面积与半径平方之比.是精确计算圆周长.圆面积.球体积等几何形状的关键值. MATLAB中的表 ...

  3. matlab最小错误率决策,利用MATLAB实现最小错误率贝叶斯判别

    利用MATLAB实现最小错误率贝叶斯判别 摘要:matlab软件平台为用户提供了强大的科学计算与可视化功能,具有简单.易用的用户环境,尤其适合矩阵数据的计算处理.根据matlab的特点,将其与模式识别 ...

  4. matlab中udt函数,《MATLAB信号处理超级学习手册》——2.5 离散时间信号中的运算...

    本节书摘来自异步社区<MATLAB信号处理超级学习手册>一书中的第2章,第2.5节,作者:MATLAB技术联盟 , 史洁玉著,更多章节内容可以访问云栖社区"异步社区"公 ...

  5. matlab中 trapz函数,trapz(matlab中trapz函数用法)

    采用梯形法求积分 下面两种用法等效 h=pi/200; t=0:h:pi/2; y=sin(t)+cos(2*t); z1=trapz(t,y) z2=trapz(y)*h z1 = 1.0000 z ...

  6. matlab 绘制符号函数,DAY8 MATLAB学习笔记—simulink入门、MATLAB符号函数的图形绘制...

    如何打开simulink: 启动simulink: 先打开MATLAB软件界面 第一步打开simulink 第二步在command windows输入 simulink然后enter,等待 有很多模块 ...

  7. matlab模拟线圈电磁场,利用MATLAB的PDE工具箱对电场和磁场进行模拟

    中学物理Vol. 32 No.巧 疑的态度,认为弊大于利,笔者认为这些想法不无道理,只是大家的关注点应该在于如何更好发挥它的优势,而避免它的不足.在实践的过程中笔者有以下心得和体会,与大家分享: 3, ...

  8. matlab 不允许函数定义,MATLAB中此上下文中不允许出现函数定义,急求~

    点击查看MATLAB中此上下文中不允许出现函数定义,急求~具体信息 答:从你讲的问题,虽然没讲太清楚,但我推测,你可能写了个脚本程序文件,其中定义了子函数,在运行时就弹出了这个提示.一般情况下,在函数 ...

  9. matlab里面求线性方程组,利用matlab求线性方程组.doc

    利用matlab求线性方程组.doc MATLAB语言课成论文利用MATLAB求线性方程组姓名郭亚兰学号12010245331专业通信工程班级2010级通信工程一班指导老师汤全武学院物电学院完成日期2 ...

最新文章

  1. static用法总结
  2. MonitorService-监控服务类2
  3. oracle中col 的用法,Oracle All
  4. PHP new self什么,php new self()是什么意思
  5. ReentrantLock锁
  6. Java设计模式之行为型:迭代器模式
  7. spring项目链接RabbitMQ集群
  8. QQ超极无敌无诚意的回答
  9. 【spring】通过GZIP压缩提高网络传输效率(可以实现任何资源的gzip压缩、包括AJAX)
  10. python-copy模块-待优化的功能
  11. 用记事本开始写自己的第一个WebService
  12. 关卡 - Aragami关卡设计
  13. 用HTML写一个会员注册、登录界面
  14. 微服务使用模块化时候导入公共模块导致maven更新依赖错误问题
  15. 录音转文字电脑软件有哪些?录音如何转文字?
  16. Graphics2D图片合成
  17. 蚪侠-远程泛目录[泛域名+泛目录+泛内页]-[代码+汉字]干扰-字体繁简切换-蜘蛛欺骗-主动推送_镜像版-V25版
  18. 【华为机试】HJ2 计算某字符出现次数
  19. parameterType的用法
  20. 卡巴斯基KAV/KIS 6.0.1.411正式版下载 附MP1版中文汉化+注册码

热门文章

  1. KMP、BM、Sunday、Horspool、strstr字符串匹配算法的性能比较
  2. layuimini左侧菜单上方图文标题自由切换显示方式的方法
  3. javaweb上传文件
  4. Android RTSP 摄像头推流
  5. 3.02 使用bison在语法分析中构建抽象语法树AST
  6. CCNA路由器及通信
  7. 《实用医学统计学与SAS应用》学习笔记 | 分类变量资料的比较-卡方检验
  8. 前端作品-飞机大战游戏
  9. Flink/Blink 原理漫谈(零)运行时的组件
  10. Jetson TX1开发笔记(二):TX1开发前必做的几件事