Ich möchte eine Fallunterscheidung machen, bei der ich das Ergebnis der sqr-Rechnung auf Ganzzahligkeit untersuchen kann. So soll bei Open in Online-Editor
\documentclass[11pt, a4paper,twoside]{scrartcl} \usepackage{pgf} \begin{document} \pgfmathparse{sqrt(10)} \pgfmathprintnumberto[precision=1]{\pgfmathresult}{\value}\value \end{document} mir nicht 3,2, sondern wieder Open in Online-Editor
\documentclass[11pt, a4paper,twoside]{scrartcl} \usepackage{pgf} \begin{document} \pgfmathparse{sqrt(100)} \pgfmathprintnumberto[precision=1]{\pgfmathresult}{\value}\value \end{document} Kann man das mit einer |
Mir ist jetzt nicht wirklich klar, was Du machen möchtest, aber vielleicht hilft Dir Open in Online-Editor
\documentclass{scrartcl} \usepackage{pgf} \newcommand\Wurzel[1]{% \pgfmathparse{% int(sqrt(#1))==sqrt(#1)?int(sqrt(#1)):"\noexpand\ensuremath{\noexpand\sqrt{#1}}"% }\pgfmathresult} \begin{document} \Wurzel{100} und \Wurzel{10} \end{document} Bitte beachte, dass die Rechengenauigkeit von beantwortet 08 Jul '15, 01:52 esdd |
Eine weitere Möglichkeit mit l3fp, dem floating point-Modul von expl3: Open in Online-Editor
\documentclass{article} \usepackage{expl3,xparse} \ExplSyntaxOn \cs_new_protected:Npn \typ_wurzel:n #1 { \fp_compare:nNnTF { round(sqrt(#1)) } = { sqrt(#1) } { \fp_eval:n { sqrt(#1) } } { \sqrt{#1} } } \NewDocumentCommand \Wurzel {m} { \ensuremath{\typ_wurzel:n {#1}} } \ExplSyntaxOff \begin{document} \Wurzel{1} \par \Wurzel{10} \par \Wurzel{100} \par \Wurzel{1000} \par \Wurzel{10000} \par \Wurzel{100000} \par \Wurzel{1000000} \par \Wurzel{1000000.0000001} \par \end{document} beantwortet 09 Jul '15, 10:05 cgnieder |
alternativ eine Lualösung, die auch bei großen Werten funktioniert: Open in Online-Editor
\documentclass{scrartcl} \usepackage{luacode} \begin{luacode} function Wurzel(x) local y=math.sqrt(x) if y == math.ceil(y) then tex.print(y) else tex.print("\\sqrt{"..x.."}") end end \end{luacode} \newcommand\Wurzel[1]{\ensuremath{\directlua{ Wurzel(#1) }}} \begin{document} \Wurzel{100} und \Wurzel{10}; \Wurzel{1000000} und \Wurzel{100000} \end{document} beantwortet 08 Jul '15, 08:23 Herbert was benutzt man denn am besten, wenn man unter LaTex ein paar Berechnungen durchführen will? Nichts kompliziertes, versteht sich... Ist lua da besser als pgf? Oder lieber calc? oder kann man auch gnuplot zum rechnen benutzen und die Ergebnisse automatisch einbinden lassen?
(08 Jul '15, 14:22)
typ42
1
@typ42: "Am besten" hängt immer von den individuellen Anforderungen ab. Sicher dürfte sein, dass Lua genauer rechnet als TeX. Allerdings gibt es auch für TeX Pakete für Berechnungen mit langen Zahlen.
(08 Jul '15, 15:20)
saputello
1
Berechnungen gehen mit
(08 Jul '15, 15:31)
Herbert
Ich seh das ein wenig wie @saputello. Wenn ich in einer TikZ Zeichnung eine Koordinate berechnen will, dann reicht mir
(08 Jul '15, 22:33)
esdd
|