How to perform mathematical conditions

5 vues (au cours des 30 derniers jours)
Pouyan Msgn
Pouyan Msgn le 18 Mar 2021
Commenté : Pouyan Msgn le 18 Mar 2021
I have to reproduce this plot:
The function is :
As you see in the plot, on the Y-axis we have this condition : [0,-pi]
So my attempt:
function alfa= fas(O,Q)
a=O/Q; b=1-O.^2;
alfa = atan(-(a)./(b));
end
clc
clear all
O=0:0.01:3.1;
for Q = [2 5 10]
y=fas(O,Q);
plot(O,y)
hold on
grid on
xlabel('/Omega')
ylabel('phase')
end
How can I get a plot just like the first one ?
I dont know how to perform the condition on Y-axis which is [0,-pi]

Réponses (1)

KSSV
KSSV le 18 Mar 2021
Use atan2 instead of atan.
function alfa= fas(O,Q)
a=O/Q; b=1-O.^2;
alfa = atan2(-a, b);
end
  6 commentaires
Rik
Rik le 18 Mar 2021
Where do you see an 'if condition'? And why do you want to avoid atan2?
Pouyan Msgn
Pouyan Msgn le 18 Mar 2021
It was little hard for me to understand the logic of atan2... but thank you anyway

Connectez-vous pour commenter.

Catégories

En savoir plus sur Statics and Dynamics dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by