Перед проводком фактического кода, позвольте мне показать вам, что процессор моего компьютера и информационная памяти хорошие:решения дифференциального уравнения имеет огромное время
Вчера я писал о уравнении Лоренца (классическое уравнение из теория хаоса), где один большой парень помог мне и показать решение, вот оно:
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 секунды, после чего он «навсегда» –