Borrar filtros
Borrar filtros

How can I solve this coupled non-linear differential equation and graph it?

4 visualizaciones (últimos 30 días)
I have two coupled non-linear differential equations. Please guide me how to solve it using MATLAB. I am a beginner.
a and n are constants. The initial condition are rho = a, omega = 0 and theta = 0. I also need to plot the graph.

Respuesta aceptada

Sam Chak
Sam Chak el 8 de Jul. de 2022
Dear @Avneet
You can start with something like the following. Let us know if the MATLAB code is helpful for a head start.
a = 1;
tspan = [0 10]; % time span
initv = [0 a]; % initial values
[t, x] = ode45(@odefcn, tspan, initv);
plot(t, x, 'linewidth', 1.5), grid on, xlabel('\theta'), legend('\omega', '\rho', 'location', 'best', 'FontSize', 14)
% Type the nonlinear coupled differential equations here
function dxdt = odefcn(t, x)
dxdt = zeros(2, 1);
a = 1.0; % constant
n = 0.5; % constant
dxdt(1) = a*cos(x(1) - t)/x(2); % Eqn 1
dxdt(2) = a*(sin(x(1) - t) - n); % Eqn 2
end

Más respuestas (1)

Chunru
Chunru el 8 de Jul. de 2022
% initial condition cannot be [0, 0] since when rho0=0, you cannot define
% d omega / d theta.
[theta, y] = ode45(@myODE, [0 2*pi], [0 0.1]);
plot(theta, y)
function dy = myODE(theta, y)
a = 1; n= 1;
% y(1) -> omega, y(2) -> rho
dy(1, 1) = a*cos(y(1)-theta)/y(2);
dy(2, 1) = a*(sin(y(1)-theta)-n);
end

Categorías

Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by