Forum: PC-Programmierung Hilfe in Matlab


von gast (Gast)


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?

von madler (Gast)


Lesenswert?

Öhm, hängt das nicht von der Länge von A ab ?

von Karl (Gast)


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?

von Michael L. (Gast)


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

von Matlab (Gast)


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?

von Michael (Gast)


Lesenswert?

Hallo,

poste mal einen Beispielcode.


Gruß,
  Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.