我在matlab中用ode45()做了一些动力学方面的工作,用计算了Lorenz系统的最大Lyaponov指数。
这个过程包括求解从x0开始的微分方程组,并将其与非常接近x0的轨道进行比较。
在每一时间步骤,第二轨道需要重新调整,然后再前进的时间步骤,所以我想要能够调用ode45()一次-这可能吗?
这里给出了替代解决方案的开始尝试,但它不起作用;据我所见,下面获得的矩阵r和R应该是类似的:
% Time
ti = 0; tf = 1; res = 10;
T = linspace(ti, tf, res);
% Solve the system first time
[~,R] = od
现在,我正在创建具有bezier控制柄的多边形。它工作得很好,除了现在我总是这样做:
for(float i = 0; i < 1; i += 0.04)
{
interpolate A, a.handle to B.handle, B at time i
}
问题是,无论点A和B之间的距离有多短或多长,它总是会产生相同数量的点。我怎么做才能让它看起来总是很好,但只能插值到它必须的程度。例如:如果Distance(A,B)是40,那么它可能只细分15次,但如果Distance(A,B)是20,它可能只细分7次,等等。我如何才能将其作为质量ex的函数:
float GetThresh
我试图在Windows 8 64位计算机上安装visual 2012编译器,使用matlab 2013 a 64位,这样我就可以在simulink仿真中运行matlab函数。我制作了mex -setup和mbuild -setup,就像我在网上看到的那样,但是当我运行模拟时,我会发现一个错误。
Unable to locate a C-compiler required by Stateflow and MATLAB Function blocks.
Use 'mex -setup' to select a supported C-compiler.
有人知道问题出在哪里吗?