matlab中ode指令,matlab自带的ballode程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
function ballode
tstart = 0;
tfinal = 30;
y0 = [0; 20];
refine = 8;
options = odeset('Events',@events,'OutputFcn',@odeplot,'OutputSel',1,...
'Refine',5);
figure;
set(gca,'xlim',[0 30],'ylim',[0 25]);
hold on;
tout = tstart;
yout = y0.';
teout = [];
yeout = [];
ieout = [];
for i = 1:10
% Solve until the first terminal event.
[t,y,te,ye,ie] = ode23(@f,[tstart tfinal],y0,options);
if ishold
hold on
end
% Accumulate output. This could be passed out as output arguments.
nt = length(t);
tout = [tout; t(2:nt)];
yout = [yout; y(2:nt,:)];
teout = [teout; te]; % Events at tstart are never reported.
yeout = [yeout; ye];
ieout = [ieout; ie];
ud = get(gcf,'UserData');
if ud.stop
break;
end
% Set the new initial conditions, with .9 attenuation.
y0(1) = 0;
y0(2) = -.9*y(nt,2);
% A good guess of a valid first timestep is the length of the last valid
% timestep, so use it for faster computation. 'refine' is 4 by default.
options = odeset(options,'InitialStep',t(nt)-t(nt-refine),...
'MaxStep',t(nt)-t(1));
tstart = t(nt);
end
plot(teout,yeout(:,1),'ro')
xlabel('time');
ylabel('height');
title('Ball trajectory and the events');
hold off
odeplot([],[],'done');
% --------------------------------------------------------------------------
function dydt = f(t,y)
dydt = [y(2); -9.8];
% --------------------------------------------------------------------------
function [value,isterminal,direction] = events(t,y)
% Locate the time when height passes through zero in a decreasing direction
% and stop integration.
value = y(1); % detect height = 0
isterminal = -1; % stop the integration
direction = -1; % negative direction
想请教一下 odeset指令的用法 还有events函数是什么意�
matlab中ode指令,matlab自带的ballode程序相关推荐
- matlab中ode指令,matlab中ode5函数编写.doc
matlab中ode5函数编写 function varargout = ode45(ode,tspan,y0,options,varargin) %ODE45 Solve non-stiff dif ...
- matlab中ode指令,Matlab中ode函数调用
函数功能编辑本段回目录 ode是专门用于解微分方程的功能函数,他有ode23,ode45,ode23s等等,采用的是Runge-Kutta算法.ode45表示采用四阶,五阶runge-kutta单步算 ...
- matlab中ode指令,[转载]MATLAB中ODE的使用
ode23 解非刚性微分方程,低精度,使用Runge-Kutta法的二三阶算法.ode45 解非刚性微分方程,中等精度,使用Runge-Kutta法的四五阶算法.ode113 解非刚性微分方程,变精度 ...
- matlab中ode指令,在Matlab中使用ODE选择步长
嘿,谢谢您抽出宝贵时间看我的问题.这是我先前在physics.stackexchange.com中发布的问题的更新版本 我目前正在研究2D激子旋量玻色-爱因斯坦凝聚物,并对这个系统的基态感到好奇.达到 ...
- matlab中特殊字符6,matlab中特殊字符
matlab特殊字符_工学_高等教育_教育专区.本文说明了matlab中如何输入特殊字符,如希腊字母字符映射表 C:\\WINDOWS\\system32\\charmap.exe M 文件里是可以输 ...
- matlab中插入希腊,matlab中希腊字母打法
如何在matlab中输入希腊字母_数学_自然科学_专业资料.matlab数据可视化处理,绘图技巧 如何在 matlab 中输入希腊字母 matlab 中用转义符来输入希腊字母的方法 上标用 ..... ...
- matlab excel导入矩阵,如何将excel中数据导入到matlab中!Excel导入matlab生成矩阵
如何将excel中数据导入matlab并存入数组中 使用Matlab中的Excel Link就可以了. 如果使用Excel 2003版本,操作如下: 1 打开Excel. 2 在菜单栏中选择→加载项→ ...
- matlab中ode的用法,关于matlab 的ode45用法
3.6.2 龙格- 库塔方法 改进的欧拉法比欧拉法精度高的原因在于,它在确定平均斜率时,多取了一个点的斜 率值.这样,如果我们在[Xi,X(i+1)]上多取几个点的斜率值,然后对它们作线性组合得到平均 ...
- matlab中strvcat函数,matlab 函数手册大全(3)
pinv 伪逆 plot 平面线图 plot3 三维线图 plotmatrix 矩阵的散点图 plotyy 双纵坐标图 poissinv 泊松分布逆累计概率分布函数 poissrnd 泊松分布随机数发 ...
最新文章
- 机器学习中的模型评价、模型选择及算法选择
- .net程序员使用Oracle新手上路指南
- c# poi写入e_C# 使用 NPOI 库读写 Excel 文件(转载)
- sklearn学习(一)
- 大数据审计护航现代金融体系构建
- python字符串中find函数_Python之字符串常用花哨玩法
- 描述java源程序构成_Java第二章Java程序设计
- 阿里巴巴整理的python_阿里P8大佬整理的2020年最全99道python面试题,文末附答案...
- mySQL用alter使列为空_我可以配置MySQL,以便新添加的列默认允许空值吗?
- ceres-solver库使用示例
- exponential family distribution(指数族分布)
- MediaCodec 编码H264 编码一帧后dequeueOutputBuffer为-1的问题
- 最近新发现的歌谱排版软件Lilypond
- 实用供暖通风空调设计手册 第三版_实用供热空调设计手册第三版即将出版随想...
- JAVAJSP校园宿舍报修系统JSP宿舍管理系统JSP宿舍报修管理系统JSP学生公寓管理系统
- 什么叫大数据人物画像_【说大数据】人物画像 :大数据时代的心灵捕手
- FPGA:实现快速傅里叶变换(FFT)算法
- CSS3常用功能的写法
- 从培训机构出来的程序员,后来都怎么样了? | 程序员有话说
- 浅谈JavaScript、ES5、ES6 ,,转自http://www.cnblogs.com/lovesong/p/4908871.html