Simulation of Equation Set Equal to Zero
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm trying to run simulations on the following equation:
Second-dervative(x) + gamma * x^2 * derivative(x) - alpha * derivative(x) + omega^2 * x = 0
Gamma, alpha, and omega are constants that I plug in and vary to see changes in the function.
From my understanding, the second derivative of a variable to the power of 1 (i.e. X^1) is always 0, and the first derivative is always 1.
If I plug in 1 for Gamma, alpha and Omega, I end up with this equation.
0 + 1.*(x.^2) * 1 - 1.*1 + 1^2 .* x
My question is, how do I simulate this equation, equal to zero? Here's the code I am working with.
% Set paramaters.
xo = 0;
x = [xo];
t = [0];
x0 = [-1, 0, 1 ];
% Simulate
[t,x] = ode23(@fx, [0 10], x0);
plot (t,x,"LineWidth",2)
xlabel("t")
ylabel("x")
xlim = [0 10];
ylim = [0 10];
function xdot = fx(t,x)
xdot = 0 + 1.*(x.^2) * 1 - 1.*1 + 1^2 .* x;
end
Is this the right way to do it? I feel like I'm missing something.
2 commentaires
Réponse acceptée
Sam Chak
le 10 Déc 2021
Looks like the Van der Pol oscillator.
clear all; clc
tspan = 0:0.001:10;
y0 = [1; 0];
[t, y] = ode45(@(t,y) [y(2); y(2) - ((y(1)).^2).*y(2) - y(1)], tspan, y0);
plot(t, y)
plot(y(:, 1), y(:, 2))
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Gamma Functions dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!