的實際代碼發佈前,讓我告訴你,我的電腦的處理器和內存信息是好的:解決方案需要大量的時間
昨天我已經張貼了關於Lorenz方程(從古典式混沌理論),其中的大好人一個幫助我和展示的解決方案,那就是:
function f=lorenz(t,x,a,b,c)
% solve differential equation like this
%dx/dt=a*(y-x)
%dy/dt=-x*z+b*x-y
%dz/dt=xy-c*z/3
f=zeros(3,1);% preallocate result
f(1)=a*(x(2)-x(1));
f(2)=-x(1)*x(3)+b*x(1)-x(2);
f(3)=x(1)*x(2)-c*x(3)/3;
end
和測試程序(腳本):
% test program
x0=[-2 -3.5 21];% initial point
a=input(' enter first coefficient : ');
b=input(' enter second coefficient: ');
c=input(' enter third coefficient : ');
[t,x] = ode45(@(t,x) lorenz(t,x,a,b,c),[0 10],x0);
plot(t,x(:,1),'r');
title(' solution of x part');
grid on
但運行這些線
test_program
enter first coefficient : 10
enter second coefficient: 28
enter third coefficient : -8
仍在運行,他說,他的個人電腦上,它需要2秒鐘後,所以這真的很奇怪會發生什麼?爲什麼它不在我的電腦上編譯?即使你看到它我的筆記本電腦有很好的參數,請幫助我 - 即使現在它正在運行,所以我應該取消使用CTRL-C。
我想說的是,大區間[0 10]是需要花費大量時間的原因 –
在這裏,Windows 8和Matlab 2015b也是如此。對於'[0 8]'需要9.2秒,之後它「永遠」 –