引用:
作者: fanxing39
哈哈,经过你的提醒,我明白了, 调整下" 相对误差容许上限" 就可以了
原程序中"ode45"命令前面先进行求解参数的修改,使得求解保证足够的精度
插入的命令如下:
options=odeset('RelTol',1e-7)%默认是0.0...
|
hehe 多谢阿 以前没注意这个问题 t=[0:0.1:2000] 本来以为可以设置 取t值间隔0.1
结果根本没效果
看了一下matlab的帮助文件,这个RelTol 还有 AbsTol 指的
似乎都是相对于函数值来说的
在函数值相对平缓的区域, 计算的过程中,自变量取值跨度会相当的大,不知道有什么
办法才可以直接控制自变量的精度
看帮助文件里面写可以直接设置 t = [t1,t2,...,tf], 在中间直接指定要计算的自变量值
但我试了一下,发现不行 如果我指定 t = [0,401,405,414,901,905,909,1500]
整个函数竟然变成直的了,全乱套了