control system bode plot
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Irshad Baruah
am 29 Mär. 2020
Kommentiert: Walter Roberson
am 13 Apr. 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 Kommentare
Walter Roberson
am 13 Apr. 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.
Akzeptierte Antwort
Ameer Hamza
am 29 Mär. 2020
Bearbeitet: Ameer Hamza
am 29 Mär. 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');
0 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!