Matlab 版 (精华区)

发信人: hahn (有奇☆闭关造文中), 信区: Matlab
标  题: [合集] 请教:关于ode45解微分方程的问题
发信站: 哈工大紫丁香 (Tue Nov 14 07:37:44 2006), 站内

────────────────────────────────────────
  ghl (量子)                       于  (Fri Jun  9 11:25:48 2006)  说道:


利用ode45解微分方程时如何控制输出结果的长度(独立变量t的范围固定)

我查阅一些资料如下:

Matlab5手册 中说
对于某一时间间隔0≤t≤T,初始值问题的解决方法是将时间分成一组有限和离散的时间
点,例如用相同的时间间隔Dt进行等分:
其中时间步长Dt=T / N,N为某一整数。
                      ~~~~~~~~~~~~
但这个N的确定没有说明。

MATLAB命令大全 中说
ode45 option属性中refine属性用于改变因子n增加输出点数目,
但对于大多数求解器,refine为1,有些ode45求解器中
为了补偿大步长引起的缺陷,将refine设为4。

请教的是,如何精确控制输出变量的长度,和refine有具体什么关系,还是其他方法控制




────────────────────────────────────────
  zjliu (秋天的萝卜)               于  (Fri Jun  9 11:31:11 2006)  说道:

tspan可以这样:
tspan=linspace(0,T,N);
【 在 ghl (量子) 的大作中提到: 】
: 利用ode45解微分方程时如何控制输出结果的长度(独立变量t的范围固定)
: 我查阅一些资料如下:
: Matlab5手册 中说
: ...................



────────────────────────────────────────
  feifeifool (爱芳)                于  (Fri Jun  9 12:10:51 2006)  说道:

看看这个:
Refine -- 
If Refine is 1, the solver returns solutions only at the end of each time 
step. If Refine is n >1, the solver subdivides each time step into n smaller 
intervals and returns solutions at each time point. Refine does not apply 
when length(tspan)>2.
Note    In all the solvers, the default value of Refine is 1. Within ode45, 
however, the default is 4 to compensate for the solver's large step sizes.
To override this and see only the time steps chosen by ode45, set Refine to 1
.  
The extra values produced for Refine are computed by means of continuous ext-
ension formulas. These are specialized formulas used by the ODE solvers to 
obtain accurate solutions between computed time steps without significant 
increase in computation time.

【 在 ghl (量子) 的大作中提到: 】
: 利用ode45解微分方程时如何控制输出结果的长度(独立变量t的范围固定)
: 我查阅一些资料如下:
: Matlab5手册 中说
: ...................



[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.331毫秒