Hilfe in Matlab

Gast #946349
Lesenswert?

Ich mit dem plot Befehl in Matlab Probleme.

plot(20*log10(A), 'b');

Und zwar möchte ich dem Amplitudengang sowie Phasengang von 0 bis fs/2 
darstellen. Wenn ich den plot Befehl so ausführe, wie oben, dann erhalte 
ich immer einen plot von 0 bis fs. Wie kann man in Matlab dies ändern?
Gast #946406
Lesenswert?

Entweder indem du den Vektor an plot auf die passende Länge 
zurechtstutzt oder, indem du nachträglich mit xlim den dargestellten 
Bereich festlegst.

Statt gidf muss ich hier leider d(oc)idf oder h(elp)idf schreiben. Wie 
hast du es geschafft den Amplitudengang zu berechnen ohne help und doc?
Gast #979298
Lesenswert?

Hallo Gast,

> Ich mit dem plot Befehl in Matlab Probleme.
>
> plot(20*log10(A), 'b');
>
> Und zwar möchte ich dem Amplitudengang sowie Phasengang von 0 bis fs/2
> darstellen. Wenn ich den plot Befehl so ausführe, wie oben, dann erhalte
> ich immer einen plot von 0 bis fs. Wie kann man in Matlab dies ändern?

A  = load('A.dat');      % Datenvektor laden
N  = length(A);          % Länge des Datenvektors
N2 = floor(N/2);         % Hälfte des Datenvektors
fs = 44100;              % Abtastfrequenz (z. B. Audio)
f  = 0:fs/N:(N-1)/N*fs;  % Frequenzvektor

s = 20*log10(A);              % Spektrum
plot(f(1:N2),s(1:N2));        % Spektrum plotten


Alternativ geht's auch mit:
axis([x1, x2, y1, y2]);

Gruß,
 Michael
Gast #979323
Lesenswert?

Hey Michael du scheinst in sachen matlab fit zu sein, hab auch eine 
frage.
Für gewöhnlich zeichnet matlab die ortskurven immer einmal positiv und 
einmal negativ wenn mich nicht alles täuscht. Wie umgehe ich das?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren