我在MATLAB中有一个ode求解器的问题。我使用了所有的ode求解器,如ode23s、ode23、ode15s、ode45等等。我的代码无法计算,因为错误警告:
警告:在t=8.190397E+01时失败。在时间t时,步长不减小到允许的最小值(2.273737E-13)以下,就无法满足积分公差。
我想计算它,请帮助我直接在我的代码。谢谢你。
第一个脚本:
% floq.m
global c_alpha c_beta c_gama om ms ks bs mii
% Parameters
c_alpha=1;
c_beta=1.1;
c_gama=1.1;
ms=1;
ks=1;
D=0.01;
OM=sqrt(ks/ms);
bs=2*D*ms*OM;
% Solver
sourad = 0.1:0.13:10;
for pom = 1:length(sourad)
eta= sqrt(1/sourad(pom));
om=eta*OM;
T=2*pi/(eta*OM);
for mii=-10*(eta^2):0.13:10*(eta^2)
tspan=0:0.01:T;
[tt,x1]=ode23(@fun,tspan,[1; 0]);
end
end
% fun.m
function v=fun(tt,x1);
global c_alpha c_beta c_gama om ms ks bs mii
mt=ms*cos(om*tt);
bt=bs*cos(2*om*tt);
kt=ks*cos(2*om*tt);
% Matrix A
A=[(-bs+mii*c_beta*bt)/(ms-mii*c_gama*mt) (-ks+mii*c_alpha*kt)/(ms-mii*c_gama*mt); 1 0];
% Method
v=A*x1;
谢谢你。
您正在对ODE函数的一个极点进行积分。到了极点,每一个解都结束了。极点左右的轨迹不能合并成一个更大的轨迹。
极点是1=mii*c_gama*cos(om*t)
的第一个正解t
。如果mii*c_gama>=1
总有这样的解决方案。
我正在使用一个僵硬的求解器(ode15s)对一个颂歌系统进行时间积分。它在起作用,但我想加快速度。 方程组以状态空间形式给出: 这里的诀窍部分是强迫函数F,它是高度非线性的,依赖于x和t参数。它利用x参数求解Poisson型二维方程(用有限体积法)。力F与泊松方程解成正比。 用迭代法求解泊松方程需要一个初始条件,我把它设为零()。我想我可以通过提供一个更好的场的初始估计来提高计算速度(一个更好的初
所以,我正在用ODE45在MATLAB中求解一些ODE。它们和代码没有什么特别复杂的,但是每个ODE解决方案需要20-30分钟来获得,我需要获得大约10分钟。(这是一个参数扫描。) 当我坐在那里等待解的到来时,我发现自己希望有一种方法可以在解诗的时候看着解画出来,这样既可以让自己确信正在取得进展,也可以在解似乎有问题的时候结束解。 有没有一种方法从ode45返回当前的(不完整的)解,并在解的时候实
而我的行书是:
主要内容:计算极限,使用Octave计算极限,验证极限的基本属性,使用Octave验证极限的基本属性,左右边界极限MATLAB提供了解决微分和积分微积分的各种方法,求解任何程度的微分方程和极限计算。可以轻松绘制复杂功能的图形,并通过求解原始功能以及其衍生来检查图形上的最大值,最小值和其他固定点。 本章将介绍微积分问题。在本章中,将讨论预演算法,即计算功能限制和验证限制属性。 在下一章微分中,将计表达式的导数,并找到一个图的局部最大值和最小值。我们还将讨论求解微分方程。 最后,在“整合/集成”一章
我正在使用一个Spark内燃机模型,由于某些原因,我正在使用python对燃烧进行建模。我试着使用颂歌的解算器,但结果完全不符合实际。我发现圆柱体体积的积分是错误的。我已经尝试使用“odeint”和“ode”解算器,但结果是一样的。代码显示体积与θ的导数,并进行积分以找到体积。我把分析方程式拿来比较。 OBS:我在使用Matlab时也遇到过类似的问题,但当我尝试在三角函数中使用度时就遇到了。当我改