
MATLAB
文章平均质量分 75
Justpayne
这个作者很懒,什么都没留下…
展开
-
关于matlab使用函数作为参数的方法
数值计算程序的通用性——函数名作为参数传递 在进行数值算法的程序设计时,往往需要实现程序的通用性,即同一个程序可以对不同的问题进行求解,如:计算函数f(x)的数值积分的程序,我们需要写一个通用的数值积分程序——Integr(),使其可以对不同的f(x)函数均可以进行积分计算,而不需要每计算一个函数的积分就重新写一个Integr()程序,仅需要另写一个f(x)的表达式程序即可。 若使转载 2013-06-14 16:15:18 · 10360 阅读 · 1 评论 -
Event Location ode求解器的事件属性
ode求解器的事件属性检测事件matlab微分方程如何设定变量的范围 如dy1=y2dy2=y1+1其中y1的范围为0【解】M文件:function [value,isterminal,direction] = events1(t,y)value = y(1)-4;isterminal= 1;direction = 0;转载 2014-03-05 15:06:40 · 2281 阅读 · 1 评论 -
matlab中的微分方程
第1节 Matlab能够处理什么样的微分方程? Matlab提供了解决包括解微分方程在内的各种类型问题的函数: 1. 常规微分方程(ODEs)的初始值问题 初值问题是用MATLAB ODE求解器解决的最普遍的问题。初始值问题最典型的是对非刚性度(?nonstiff)问题应用ODE45,对刚性度(?stiff)问题采用ODE15S。(对于stiffness的解释,请参照“什么是Stif转载 2013-11-11 22:01:18 · 7762 阅读 · 1 评论 -
MATLAB 积分算法
在SIMULINK 的仿真过程中选择合适的算法是很重要的,仿真算法是求常微分方程、传递函数、状态方程解的数值计算方法,这些方法主要有欧拉法( Euler) 、阿达姆斯法(Adams) 、龙格·库塔法(Rung-Kutta) ,这些算法都主要建立在泰勒级数的基础上。欧拉法是最早出现的一种数值计算方法,它是数值计算的基础,它用矩形面积来近似积分计算,欧拉法比较简单,但精度不高,现在已经较少使用。阿达姆转载 2013-11-11 21:31:44 · 9550 阅读 · 2 评论 -
Matlab有关不等式画图问题
如何用Matlab画出27.6xy因为没作特殊说明,我们默认楼主是在xoy平面内讨论(排除柱面情形)问题。对于不等式绘图,mathematica有相应的函数——regionplot(2维或者3维),而matlab没有,但是我们有办法。这样的问题(平面不等式问题)主要有两种方法:1. 绘制曲线,给可行域画上hatch;2. 定义空间曲面,对于不满足要求的点设置转载 2013-11-03 18:25:04 · 23416 阅读 · 1 评论 -
分享一些Matlab调试技巧
Matlab的调试总体分为,直接调试和间接调试。1.直接调试:(1)去掉句末的分号;(2)单独调试一个函数:将第一行的函数声明注释掉,并定义输入量,以脚本方式执行 M 文件;(3)适当地方添加输出变量值的语句;(4)添加keyboard命令;2.工具调试:1.)以命令行为主的调试:(1)设置断点:· dbstop in mfile:在文件名转载 2013-10-29 22:46:56 · 1850 阅读 · 0 评论 -
matlab ode45 函数传自定义参数用法及定步长ode5解算函数
要用的时候总是忘记,这回给把它写在这里! %%程序1arg1 = 2;arg2 = 1;[T,Y] = ode45('vdp1000',[0 10],[2 0], [], arg1, arg2);plot(T,Y(:,1),'-o'); %%程序2function dy = vdp1000(t, y, flag, arg1, arg2)转载 2013-10-26 09:24:04 · 11236 阅读 · 0 评论 -
Matlab 的 private 文件夹
matlab用多了,发现在代码开发环境方面还真不如VS做的好,而且在项目管理上做的不如其他语言强大,开发小型代码很不错,如果代码工程量大的话,就会发现很难组织好。一个文件里面,第一个函数是主函数,后面的函数对外都不可见,这个就很别扭,所以要把其他需要供其他文件调用的函数都写成一个个文件,文件少了还好,如果多了,就想分分类,怎么分?要知道一个函数或脚本是无法或不方便调用其他文件夹里的函数的,加入ma转载 2013-09-23 10:30:35 · 2583 阅读 · 0 评论 -
Matlab ode45 解微分方程
在用odesolver(ode45, ode15s, …)来解微分方程的时候,最基本的用法是: [t, y] = odesolver(odefun, tspan, y0); 这里的odefun是待求的微分方程。那么odefun中一般会含有多个系统参数,通常要通过改变参数来观察系统动态的变化。那么如何在调用odesolver的时候传递参数呢? 以前,我都是用全局变量的写法,将参数在主函数和子转载 2013-09-19 18:48:09 · 14240 阅读 · 1 评论 -
Matlab去掉右面、上面的小短线(ticks)
先用plot画个图:x = -pi:pi/10:pi;y = tan(sin(x)) - sin(tan(x));plot(x,y,'rs-','LineWidth',1,'MarkerEdgeColor','k',...'MarkerFaceColor','g','MarkerSize',10);看到右边和上边的小短线(ticks)了嘛,有人就是不想要这些短线转载 2015-07-09 23:30:32 · 11171 阅读 · 0 评论