
Estoy intentando hacer algunos gráficos con coordenadas esféricas y tengo un problema al calcular algunos números en PGFPLOTS.
Agrego un MWE aquí:
\documentclass[12pt]{standalone}
\usepackage[pdftex]{graphicx}
\usepackage{amsmath}
\usepackage{tikz,pgfplots}
\begin{document}
% compute angles
\pgfmathsetmacro\a{-pi/5}
\pgfmathsetmacro\b{pi/10}
\pgfmathsetmacro\phil{\a-\b}
\pgfmathsetmacro\phih{\a+\b}
\pgfmathsetmacro\thetal{\a-\b}
\pgfmathsetmacro\thetah{\a+\b}
\pgfmathsetmacro\s{cos(\thetal)*sin(\phil)}
% this should be about -0.476
\pgfmathprintnumber{\s}
\end{document}
Aquí está el resultado:
Debería obtener $-0,4755282581475768$
Respuesta1
sin
y cos
quiero su argumento en grado. Aunque también se pueden dar en radianes añadiendo r
(manual, sección 94.3.4).
\documentclass[12pt]{standalone}
\usepackage[pdftex]{graphicx}
\usepackage{amsmath}
\usepackage{tikz,pgfplots}
\begin{document}
% compute angles
% \pgfmathsetmacro\a{-180/5}
% \pgfmathsetmacro\b{180/10}
\pgfmathsetmacro\a{-pi/5 r}
\pgfmathsetmacro\b{pi/10 r}
\pgfmathsetmacro\phil{\a-\b}
\pgfmathsetmacro\phih{\a+\b}
\pgfmathsetmacro\thetal{\a-\b}
\pgfmathsetmacro\thetah{\a+\b}
\pgfmathsetmacro\s{cos(\thetal)*sin(\phil)}
% this should be about -0.476
\pgfmathprintnumber{\s}
\end{document}
Respuesta2
Para mí, prefiero ir conpaquete xfphacer los cálculos por mí debido a su amplia lista de funciones y la capacidad de manejar operaciones con números grandes sintales limitaciones.
\documentclass[12pt,border=5mm]{standalone}
\usepackage{amsmath}
\usepackage{xfp,siunitx}
\begin{document}
% compute angles
\edef\a{-pi/5}
\edef\b{pi/10}
\edef\phil{\a-\b}
\edef\phih{\a+\b}
\edef\thetal{\a-\b}
\edef\thetah{\a+\b}
\edef\s{\fpeval{cos(\thetal)*sin(\phil)}}
% this should be about -0.476
\num{\s}
\end{document}
Respuesta3
Un truco sucio y demasiado complicado
% xop.tex
% run
% pdflatex xop.tex
% asy xop-*.asy
% pdflatex xop.tex
\documentclass[12pt]{standalone}
\usepackage[pdftex]{graphicx}
\usepackage{amsmath}
\usepackage{tikz,pgfplots}
\usepackage[inline]{asymptote}
\begin{document}
\gdef\setasy#1{\gdef\s{#1}}
\pgfmathsetmacro\s{0}
\begin{asy}
// compute angles
real a=-pi/5;
real b=pi/10;
real phil=a-b;
real phih=a+b;
real thetal=a-b;
real thetah=a+b;
real s=cos(thetal)*sin(phil);
tex("\setasy{"+string(s)+"}");
\end{asy}
\pgfmathprintnumber{\s} (\s)
\end{document}