필터 지우기
필터 지우기

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

조회 수: 4 (최근 30일)
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.

채택된 답변

Sam Chak
Sam Chak 2022년 7월 8일
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

추가 답변 (1개)

Chunru
Chunru 2022년 7월 8일
% 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

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by