미분 방정식 을 matlab 로 풀다 dx / dt = x - y - x (x ^ 2 + y ^ 2) D / dt = x + y - y (x ^ 2 + y ^ 2) x (0) = y (0) 1

미분 방정식 을 matlab 로 풀다 dx / dt = x - y - x (x ^ 2 + y ^ 2) D / dt = x + y - y (x ^ 2 + y ^ 2) x (0) = y (0) 1

[x, y] = dsolve ('Dx = x - y - x * (x ^ 2 + y ^ 2)', 'Dy = x + y - y * (x ^ 2 + y ^ 2)', 'x (0) = 2', 'y (0) = 1')
해석 해 를 얻 었 는데 찾 지 못 했 습 니 다.
수치 로 해석 하 다.
Matlab 에 입력: ediit, 그리고 아래 두 줄 의 100 점 사이 의 내용 을 복사 하여 저장 합 니 다.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function y = zhidaok45 (t, x)
% x, y 변 수 는 각각 x (1), x (2) 로 표시 한다.
y = [x (1) - x (2) - x (1) * (x (1) ^ 2 + x (2) ^ 2), x (1) + x (2) - x (2) * (x (1) ^ 2 + x (2)];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Matlab 아래 에 입력:
tend = 10;
x0 = [2; 1];
[t, x] = ode45 ('zhidao'k45 ', [0, tend], x0);
plot (t, x);
legend ('x', 'y');
xlabel ('t');
figure;
plot (x (:, 1), x (:, 2);
xlabel ('x');
ylabel (y);