Code MATLAB : Analyse de système dynamique et bifurcation

Telechargé par Michael Kamgang
1) voici le code permettant de visualiser les variations du comportement du système en
fonction des différentes valeurs de u et wo
% Paramètres
u_values = [1.0, 2.0, 0.5]; % Différentes valeurs de u
w0_values = [1.0, 1.5]; % Différentes valeurs de w0
% Temps de simulation
tspan = [0 10];
% Tracé des résultats pour différentes combinaisons de u et w0
figure;
for i = 1:length(u_values)
for j = 1:length(w0_values)
u = u_values(i);
w0 = w0_values(j);
% Définir les équations différentielles
ode = @(t, y) [y(2); u * w0 * (1 - y(1)^2) * y(2) - w0^2 * y(1)];
% Résoudre les équations différentielles avec ode45
[t, sol] = ode45(ode, tspan, initial_conditions);
% Tracer les résultats
subplot(length(u_values), length(w0_values), (i-1)*length(w0_values) + j);
plot(t, sol(:, 1), 'LineWidth', 2);
xlabel('Temps');
ylabel('Position (x)');
title(['u = ' num2str(u) ', w0 = ' num2str(w0)]);
grid on;
end
end
2) Code MATLAB pour étudier la bifurcation en faisant varier u avec différentes valeurs de w0
% Paramètres
u_values = linspace(0.5, 3, 100); % Valeurs de u à tester
w0_values = [1.0, 1.5]; % Différentes valeurs de w0
% Conditions initiales
initial_conditions = [0.5; 0];
% Temps de simulation
tspan = [0 50];
% Tracé de la bifurcation
figure;
for j = 1:length(w0_values)
w0 = w0_values(j);
% Préparer le vecteur pour stocker les résultats
bifurcation_results = zeros(length(u_values), 2);
% Boucle sur les valeurs de u
for i = 1:length(u_values)
u = u_values(i);
% Définir les équations différentielles
ode = @(t, y) [y(2); u * w0 * (1 - y(1)^2) * y(2) - w0^2 * y(1)];
% Résoudre les équations différentielles avec ode45
[t, sol] = ode45(ode, tspan, initial_conditions);
% Stocker la dernière valeur de la solution (état final)
bifurcation_results(i, :) = sol(end, :);
end
% Tracer la bifurcation
subplot(1, length(w0_values), j);
plot(u_values, bifurcation_results(:, 1), '.');
xlabel('u');
ylabel('Position (x)');
title(['Bifurcation pour w0 = ' num2str(w0)]);
grid on;
end
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!