www.mikrocontroller.net

Forum: PC-Programmierung Hilfe in Matlab


Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: madler (Gast)
Datum:

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

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Michael Lenz (hochbett)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matlab (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

poste mal einen Beispielcode.


Gruß,
  Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.