MATLAB experiment<6>
1,解非刚性微分方程
[t,y] = ode45(odefun,tspan,y0)
(其中 tspan = [t0 tf]
)求微分方程组 y′=f(t,y) 从 t0
到 tf
的积分,初始条件为 y0
。解数组 y
中的每一行都与列向量 t
中返回的值相对应。
1. 解下列微分方程。
%Excercise 1(1)fun=inline('x+y','x','y');[t,y]=ode45(fun,[0 1 2 3],1) %注意由于初值为y(0)=1, [0 1 2 3]中0不可缺%Excercise 1(2)fun=inline('[-2*y(1)-3*y(2);2*y(1)+y(2)]','t','y');%原题有错,应改为-x'=2x+3y[t,y]=ode45(fun,[0 10],[-2.7;2.8])plot(y(:,1),y(:,2))%Excercise 1(3)%高阶导数y''化为一阶(y')',多变量(y,y')化为单变量x.%令x(1)=y,x(2)=y',化为方程组%x(1)'=x(2),x(2)'=0.01*x(2)^2-2*x(1)+sin(t)%初始值x(1)=0,x(2)=1.%运行下列指令clear;close;fun=@(t,x)[x(2);0.01*x(2)^2-2*x(1)+sin(t)];%fun表示两个方程的右端,注意第一个x(2)表示x(1)的导函数。[t,x]=ode45(fun,[0 5],[0;1]);x(end,1)plot(t,x(:,1))
3. 求解刚性方程组
dfun=inline('[-1000.25*y(1)+999.75*y(2)+0.5;999.75*y(1)-1000.25*y(2)+0.5]','x','y');[x,y]=ode45(dfun,[0,50],[1;-1]);length(x) %发现所用节点很多[x,y]=ode15s(dfun,[0,50],[1;-1]);length(x)%发现所用节点很少
MATLAB experiment<6>相关推荐
- MATLAB experiment<3>
目录 1,解方程组 rank 函数判定解的情况 NULL rref-------简化的行阶梯形矩阵(Gauss-Jordan 消去法) (1)唯一解 (2)唯一解 (3)无解 (4) 求通解 使用rr ...
- <binding>和<operation>元素
<binding>和<operation>元素 Binding栏是完整描述协议.序列化和编码的地方,Types, Messages和PortType栏处理抽象的数据内容,而Bi ...
- 水鱼 学习回顾 <1>
学习回顾 <1> 1.注释 2.选择语句 3.循环语句 4.函数 5.数组 6.操作符 7.关键字 8.其他穿插知识点 1.注释 鼠标选中代码块 Ctrl+K+C 快速注释 int num ...
- 封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>
封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>(使用lettuce连接池) 代码环境 框架:springb ...
- mybatis中<mappers> ,mapperLocations,和MapperScannerConfigurer 用法
mybatis中<mappers> ,mapperLocations,和MapperScannerConfigurer 用法 1. mappers标签 在mybatis单独使用时,myba ...
- 训练时发生的错误:Couldn‘t open shared file mapping: <000001910A228862>, error code: <1455>
今天在运行TTSR时第14个epoch时发生了以下错误: 看到一篇博客有写: RuntimeError: Couldn't open shared file mapping: <torch_37 ...
- C++头文件<functional>和bind、placeholders占位符使用简单例子
相关博文:C++新特性探究(十五):bind 相关博文:C++头文件<functional>和bind.placeholders占位符使用简单例子 相关博文:<Essential C ...
- opencv中 .at<uchar>()和.ptr<uchar>()使用方法的区别
opencv中 .at<uchar>()和.ptr<uchar>()使用方法的区别在opencv中,.at<uchar>()和.ptr<uchar>() ...
- vector<int> v, vector<int> v(n) 与vector<int> v[n]的区别
一.vector<int> v表示声明一个容器v,并且不给他预定存储空间. 运行: vector<int> v;cout << v.size(); 输出为: 0 二 ...
最新文章
- andorid简单计算器java源码_Android之一个简单计算器源代码
- windows下python3关于机器学习的环境配置,Anaconda的安装和使用方法以及安装后无法打开的解决方法
- 成功解决AttributeError: ‘str‘ object has no attribute ‘decode‘
- 优信拍集团php面试题_【优信拍PHP高级开发工程师面试】面试官是我遇到过的面试水平最低的。-看准网...
- iOS 7 如何关闭已打开的应用(App)
- java提取多行嵌套div/div内容的正则表达式_提取某一段div标签之间内容的正则表达式怎么写...
- docker基础入门和docker compose实战
- 百度大脑公开课!快速定制高精度计算机视觉模型
- Python爬虫编程常见问题解决方法
- keras搭建多层LSTM
- sharepoint 2007,sharepoint 2010网站的备份还原
- mysql 批量 update 多个条件_Mysql学习与巩固,超详细的小白篇
- 行政边界矢量地图—县级
- 期货市场对农业的影响
- G_分包具体详情及处理
- Mysql 创建新用户授予root权限 或 最高权限
- Redis 惰性删除
- bzoj 5245: [Fjwc2018]欧拉函数 线段树+bitset
- UOJ #455.【UER #8】雪灾与外卖 堆模拟费用流
- 直播有什么新的互动玩法?