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毫秒