fork download
  1. clc; clear; close all;
  2.  
  3. %% Част 1: Намерете общото решение на диференциалното уравнение
  4. syms y(x)
  5. ode = diff(y, x) == 3*y + 3*x^3*exp(-4*x) - 1;
  6. sol = dsolve(ode);
  7. disp('Общото решение на диференциалното уравнение:');
  8. disp(sol);
  9.  
  10. %% Част 2: Векторно поле
  11. [xGrid, yGrid] = meshgrid(linspace(-4,4,20), linspace(-4,4,20));
  12. dy = 3*yGrid + 3*xGrid.^3 .* exp(-4*xGrid) - 1;
  13. dx = ones(size(dy)); % dx/dx = 1
  14.  
  15. figure;
  16. quiver(xGrid, yGrid, dx, dy, 'r');
  17. xlabel('x'); ylabel('y'); title('Векторно поле');
  18. axis([-4 4 -4 4]);
  19. grid on;
  20.  
  21. %% Част 3: Интегрални криви
  22. hold on;
  23. for y0 = -3:1:3
  24. [x, ySol] = ode45(@(x,y) 3*y + 3*x^3*exp(-4*x) - 1, [-4, 4], y0);
  25. plot(x, ySol, 'b', 'LineWidth', 1.5);
  26. legend('Векторно поле', 'Интегрални криви');
  27. hold off;
  28.  
Success #stdin #stdout 0.03s 25820KB
stdin
Standard input is empty
stdout
clc; clear; close all;

%% Част 1: Намерете общото решение на диференциалното уравнение
syms y(x)
ode = diff(y, x) == 3*y + 3*x^3*exp(-4*x) - 1;
sol = dsolve(ode);
disp('Общото решение на диференциалното уравнение:');
disp(sol);

%% Част 2: Векторно поле
[xGrid, yGrid] = meshgrid(linspace(-4,4,20), linspace(-4,4,20));
dy = 3*yGrid + 3*xGrid.^3 .* exp(-4*xGrid) - 1;
dx = ones(size(dy)); % dx/dx = 1

figure;
quiver(xGrid, yGrid, dx, dy, 'r');
xlabel('x'); ylabel('y'); title('Векторно поле');
axis([-4 4 -4 4]);
grid on;

%% Част 3: Интегрални криви
hold on;
for y0 = -3:1:3
    [x, ySol] = ode45(@(x,y) 3*y + 3*x^3*exp(-4*x) - 1, [-4, 4], y0);
    plot(x, ySol, 'b', 'LineWidth', 1.5);
end
legend('Векторно поле', 'Интегрални криви');
hold off;