Hallo,

ich möchte eine logarithmische Abstrahlfunktion in einem Polarplot zwischen -90 und +90 Grad darstellen. Bisher versuche ich es wie folgt:

Open in writeLaTeX
\documentclass[]{standalone}

\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\usetikzlibrary{shapes.geometric}

\makeatletter
\def\pgftransform@angle{0}
\pgfplotsset{
    xticklabel style={
        inner xsep=1pt,
        ellipse,
        anchor=\tick-(180-\pgftransform@angle)
    },
    yticklabel style={
        anchor=\pgftransform@angle
    }
}
\makeatother

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[xmin=-90,xmax=90,rotate=90,
    domain=-90:90,
    xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
    no markers]
 \addplot +[blue, ultra thick,domain=0:-60] {10*log10((sin(pi*54*sin(x)/3.43))/(pi*(54/3.43)*sin(x))^2)};
\end{polaraxis}
\end{tikzpicture}
\end{document}

alt text

Problem ist nun, dass ich die Skalierung nicht in den negativen Bereich bekomme. Laut meinen bisher durchgeführten Berechnung (mathcad), wäre ein Wertebereich von -60 bis 0 interessant. Kann mir jemand sagen wie das funktioniert?

Letztendlich sollte es wie folgt aussehen wenn ich die Parameter der Funktion (a: 5, b: 54 [siehe code], c: 80) variiere.

a) alt text

b) alt text

c) alt text

Viele Grüße

Dirk

gefragt 03 Jun '14, 18:14

Dirk's gravatar image

Dirk
2654610
Akzeptiert-Rate: 40%

bearbeitet 03 Jun '14, 20:06


So sollte es klappen:

Open in writeLaTeX
\documentclass[]{standalone}

\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\usetikzlibrary{shapes.geometric}

\makeatletter
\def\pgftransform@angle{0}
\pgfplotsset{
    xticklabel style={
        inner xsep=1pt,
        ellipse,
        anchor=\tick-(180-\pgftransform@angle)
    },
    yticklabel style={
        anchor=\pgftransform@angle
    }
}
\makeatother

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[xmin=-90,xmax=90,rotate=90,
    domain=-90:90,
    xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
    y coord trafo/.code=\pgfmathparse{#1+60},                    %%   <-- entscheidende Zeilen
   y coord inv trafo/.code=\pgfmathparse{#1-60}                  %%   <-- entscheidende Zeilen
    no markers]
 \addplot +[blue, thin,mark=none] {10*log10((sin(pi*54*sin(x)/3.43))/(pi*(54/3.43)*sin(x))^2)};
\end{polaraxis}
\end{tikzpicture}
\end{document}

Hilfe gefunden bei: TeX - LaTeX Stack Exchange

Viele Grüße

Dirk

Permanenter link

beantwortet 11 Jun '14, 19:09

Dirk's gravatar image

Dirk
2654610
Akzeptiert-Rate: 40%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×296

gestellte Frage: 03 Jun '14, 18:14

Frage wurde gesehen: 5,962 Mal

zuletzt geändert: 11 Jun '14, 19:09