How do I construct matrices of multiple variables and plot a graph
27 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am a beginner to MATLAB.
I tried but I'm getting errors.
Anybody, kindly help. Thank you.
Equations dx/dt=-2x
dy/dt=2x
Initial condition: x(t=0)=100
y(t=0)=0
tspan=[0 3];
x0=100;
y0=0;
dzdt = (dxdt dydt);
[tSol, zSol]=ode45(@odefun,tspan,x0);
plot(tSol, zSol);
function dzdt=odefun(t,z)
x = z(1);
y = z(2);
dxdt = -2*x;
dydt = 2*x;
dzdt = [dxdt;dydt];
end
0 Kommentare
Akzeptierte Antwort
Hassaan
am 23 Jul. 2024
% Define the time span and initial conditions
tspan = [0 3];
z0 = [100; 0]; % Initial conditions for x and y, combined into a single column vector
% Call the ODE solver
[tSol, zSol] = ode45(@odefun, tspan, z0);
% Plot the solutions for x and y over time
figure; % Open a new figure window
hold on; % Keep the plot for adding both x and y
plot(tSol, zSol(:,1), 'b-', 'LineWidth', 2); % Plot x with a thicker blue line
plot(tSol, zSol(:,2), 'r--', 'LineWidth', 2); % Plot y with a thicker red dashed line
xlabel('Time t', 'FontSize', 12, 'FontWeight', 'bold');
ylabel('Solutions x and y', 'FontSize', 12, 'FontWeight', 'bold');
title('Solutions to the differential equations dx/dt = -2x and dy/dt = 2x', 'FontSize', 14, 'FontWeight', 'bold');
legend('x(t)', 'y(t)');
grid on; % Turn on grid
set(gca, 'FontSize', 10); % Set the font size for axes
hold off; % Release the plot hold
% Define the system of differential equations
function dzdt = odefun(t, z)
x = z(1);
y = z(2);
dxdt = -2 * x;
dydt = 2 * x;
dzdt = [dxdt; dydt];
end
8 Kommentare
Weitere Antworten (1)
Torsten
am 23 Jul. 2024
tspan=[0 3];
x0=100;
y0=0;
z0=[x0;y0];
[tSol, zSol]=ode45(@odefun,tspan,z0);
plot(tSol, zSol);
function dzdt=odefun(t,z)
x = z(1);
y = z(2);
dxdt = -2*x;
dydt = 2*x;
dzdt = [dxdt;dydt];
end
Siehe auch
Kategorien
Mehr zu Surrogate Optimization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!