У меня есть система дифференциальных уравнений в матлабе:
Код:
function[res] = model(t, y, a, b, c)
res(1,1)=a*y(3);
res(2,1)=y(1)*y(1) + y(2)*y(2) - b;
res(3,1)=-y(1) + y(2) + y(1)*y(3) + c;
Мне надо получить бифуркационную диаграмму (вот точно такую же, как на фото или что-то похожее)
Я пытаюсь сделать это с помощью кода:
Код:
clear all;
close all;
clc;
N1 = 3;
N2 = 1000;
r1 = 1;
r2 = 1.2;
k = 10000;
a = r1:(r2-r1)/(k-1):r2;
b = 1;
c = 1;
X = zeros(numel(a), N2+1, 3);
for j = 1 : k
x0 = [0,0,0];
for k = 2 : N1
x0 = model(1, x0, a(j), b, c);
end
X(j,1,1) = x0(1);
X(j,1,2) = x0(2);
X(j,1,3) = x0(3);
for k = 2 : N2 + 1
xcur = model(1, [X(j,k - 1,1),X(j,k - 1,2),X(j,k - 1,3)], a(j), b, c);
X(j,k,1) = xcur(1);
X(j,k,2) = xcur(2);
X(j,k,3) = xcur(3);
end
end
plot(a, X(:, N1:N2, 1),'k.', 'markersize', 0.1)
Но выводится график вообще с чем-то непонятным. Точки очень редкие и находятся друг от друга безумно далеко. Можете помочь?