control system bode plot

10 vues (au cours des 30 derniers jours)
Irshad Baruah
Irshad Baruah le 29 Mar 2020
Commenté : Walter Roberson le 13 Avr 2020
how to plot this two equatio and the resutant output is shown in the figure
the alpha value should be any fractional value(eg-alpha=0.01 to 0.09).
one of the matlab community person helped me but his alpha value is 1 not fractional the code is given below
(hold off;
alpha=1;Wcr=10;
w1=logspace(-1,log10(Wcr),1000);w2=logspace(log10(Wcr),3,1000);
Mag1=20*ones(1,numel(w1));Mag2=@(w2) 20*alpha*log10(w2);
semilogx(w1,Mag1);hold on;semilogx(w2,Mag2(w2));grid on;xlabel('Frequency');ylabel('dB'))
  2 commentaires
Irshad Baruah
Irshad Baruah le 29 Mar 2020
thanx ammer
Walter Roberson
Walter Roberson le 13 Avr 2020
Irshad Baruah:
If you believe that your question is unclear, then since you are the person who posted the question, you have the responsibility to clarify it.

Connectez-vous pour commenter.

Réponse acceptée

Ameer Hamza
Ameer Hamza le 29 Mar 2020
Modifié(e) : Ameer Hamza le 29 Mar 2020
Check this:
alpha=0.1; % alpha is 0.1
Wcr=10;
w1=logspace(-1,log10(Wcr),1000);
w2=logspace(log10(Wcr),3,1000);
Mag1=20*alpha*ones(1,numel(w1)); %<---- you need to multiply alpha here too
Mag2=@(w2) 20*alpha*log10(w2);
semilogx(w1,Mag1);
hold on;
semilogx(w2,Mag2(w2));
grid on;
xlabel('Frequency');
ylabel('dB')
Also try this to plot all values from 0.1 to 0.9 on one graph
Wcr=10;
w1=logspace(-1,log10(Wcr),1000);
w2=logspace(log10(Wcr),3,1000);
ax = axes('XScale', 'log');
hold on;
Alpha=0.1:0.1:0.9;
for i=1:numel(Alpha)
alpha = Alpha(i);
Mag1=20*alpha*ones(1,numel(w1));
Mag2=@(w2) 20*alpha*log10(w2);
semilogx(w1,Mag1);
semilogx(w2,Mag2(w2));
end
grid on;
xlabel('Frequency');
ylabel('dB');

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by