Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Definitionen: Mathematische Funktionen und Konstanten
MessageBox(Dieser Code beinhaltet nur Funktionen und ist selbständig nicht lauffähig!,I N F O,4160)
end
Mathematik
Autor: Michael Wodrich
Konstanten
Def !Pi 3.14159265358979323846 Kreiszahl Pi (höhere Genauigkeit)
Def !HalfPi 1.57079632679489661923 Pi / 2
Def !TwoPi 6.28318530717958647692 Pi * 2
Def !KehrPi 0.318309886183790671538035357467728 1 / Pi
Def !PiDiv180 0.0174532925199432957692 Pi / 180 (Grad- nach Bogenmaß) (Degree to Radian)
Def !f180DivPi 57.2957795130823208768463643441911 180 / Pi (Bogenmaß nach Grad) (Radian to Degree)
Funktionen
Def @DegToRad(1) @Mul(@!(1),!PiDiv180)
Degree -> Radian (Grad- nach Bogenmaß)
z.B.: erg! = Sin(DegToRad(grad!))
Def @RadToDeg(1) @Mul(@!(1),!f180DivPi)
Radian -> Degree (Bogenmaß nach Grad)
Def @Min!(2) @If(@LT(@!(1),@!(2)),@!(1),@!(2))
Def @Max!(2) @If(@GT(@!(1),@!(2)),@!(1),@!(2))
ermittelt das Minimum und Maximum zweier Float-Werte.
Def @Min&(2) @If(@LT(@&(1),@&(2)),@&(1),@&(2))
Def @Max&(2) @If(@GT(@&(1),@&(2)),@&(1),@&(2))
ermittelt das Minimum und Maximum zweier LongInt-Werte.
Def @SHL(2) (@&(1) << @&(2))
<< bitweise nach links schieben (entspricht einer Multiplikation mit 2)
Def @SHR(2) (@&(1) >> @&(2))
>> bitweise nach rechts schieben (entspricht einer Division durch 2)
Def @Odd(1) @If(@Equ(((@&(1) >> 1) << 1),@&(1)),1,0)
Odd - Ungerade
Def @Neg(1) @Mul(@!(1),(-1.0))
Negation
Def @Cpl2(1) @Add(@Mul(@!(1),(-1.0)),1)
Zweierkomplement
Def @Sgn!(1) @If(@LT(@!(1),0.0),-1.0,@If(@GT(@!(1),0.0),1.0,0.0))
Def @Sgn&(1) @If(@LT(@&(1),0),-1,@If(@GT(@&(1),0),1,0))
Signum
Def @Kubik(1) @Mul(@Sqr(@!(1)),@!(1))
x^3 == x³ == x² * x == x * x * x
Def @Log(2) @Div(@Ln(@!(1)),@Ln(@%(2)))
Logarithmus zur Basis N == Log(zahl!,Basis%) == Ln(x!) / Ln(N%)
Def @Log10(1) @Div(@Ln(@!(1)),@Ln(10.0))
Logarithmus zur Basis 10 == Ln(x) / Ln(10)
Def @Lg(1) @Div(@Ln(@!(1)),@Ln(10.0)) (Profan-Funktion)
Logarithmus zur Basis 10 == Ln(x) / Ln(10)
Def @Log2(1) @Div(@Ln(@!(1)),@Ln(2.0))
Logarithmus zur Basis 2 == Ln(x) / Ln(2)
Def @Ld(1) @Div(@Ln(@!(1)),@Ln(2.0))
Logarithmus zur Basis 2 == Ln(x) / Ln(2)
Def @Exp10(1) @Exp(@Mul(@!(1),@Ln(10.0))
10^x Power of ten
Def @Exp2(1) @Exp(@Mul(@!(1),@Ln(2.0))
2^x Power of two
Def @Exp(1) ... (Profan-Funktion)
e^x Power of Euler
Def @Sin(1) @Sqrt(@Sub(1.0,@Sqr(@Cos(@!(1))))) (Profan-Funktion)
Sinus y = Sqrt( 1 - Cos(x)^2 )
Def @Cos(1) ... (Profan-Funktion)
Cosinus
Def @Tan(1) @Div(@Sin(@!(1)),@Cos(@!(1))) (Profan-Funktion)
Tangens y = Sin(x) / Cos(x)
Def @Cot(1) @Div(@Cos(@!(1)),@Sin(@!(1))) (Profan-Funktion)
Cotangens y = Cos(x) / Sin(x) oder y = 1 / Tan(x)
Def @Sec(1) @Div(1.0,@Cos(@!(1)))
Sekans y = 1 / Cos(x)
Def @Csc(1) @Div(1.0,@Sin(@!(1)))
Cosekans y = 1 / Sin(x)
Def @ArcSin(1) @Sub(!HalfPi,@ArcCos(@!(1)))
Arcus Sinus y = 0.5 * Pi - ArcCos(x) oder y = ArcTan(x/Sqrt(1-Sqr(x)))
Def @ArcCos(1) @Mul(2.0,@ArcTan(Sqrt(@Div(@Sub(1.0,@!(1)),@Add(1.0,@!(1))))))
Arcus Cosinus y = 2 * ArcTan( Sqrt( (1-x) / (1+x) ) )
y = ArcTan(-x / Sqrt(1-Sqr(x))) + 2 * ArcTan(1)
Def @ArcTan(1) ... (Profan-Funktion)
Arcus Tangens
Def @ArcCot(1) @Sub(!HalfPi,@ArcTan(@!(1)))
Arcus Cotangens y = 0.5 * Pi - ArcTan(x)
y = ArcTan(x) + 2 * ArcTan(1)
Def @ArcSec(1) @ArcCos(@Div(1.0,@!(1)))
Arcus Sekans y = ArcCos( 1/x )
y = ArcTan(x/Sqrt(Sqr(x)-1)) + Sgn(x-1) * 2 * ArcTan(1)
Def @ArcCsc(1) @ArcSin(@Div(1.0,@!(1)))
Arcus Cosekans y = ArcSin( 1/x )
y = ArcTan(x/Sqrt(Sqr(x)-1)) + (Sgn(x)-1) * 2 * ArcTan(1)
Def @XHypSub(1) @Sub(@Exp(@!(1)),@Exp(@Neg(@!(1))))
Hilfsfunktion y = Exp(x) - Exp(-x)
Def @XHypAdd(1) @Add(@Exp(@!(1)),@Exp(@Neg(@!(1))))
Hilfsfunktion y = Exp(x) + Exp(-x)
Def @Sinh(1) @Div(@XHypSub(@!(1)),2.0)
Hyperbel Sinus y = (Exp(x) - Exp(-x)) / 2
Def @Cosh(1) @Div(@XHypAdd(@!(1)),2.0)
Hyperbel Cosinus y = (Exp(x) + Exp(-x)) / 2
Def @Tanh(1) @Div(@Sinh(@!(1)),@Cosh(@!(1)))
Hyperbel Tangens y = Sinh(x) / Cosh(x)
Def @Coth(1) @Div(@Cosh(@!(1)),@Sinh(@!(1)))
Hyperbel Cotangens y = Cosh(x) / Sinh(x)
Def @Sech(1) @Div(2.0,@XHypAdd(@!(1)))
Hyperbel Sekans y = 2 / (Exp(x) + Exp(-x))
Def @Csch(1) @Div(2.0,@XHypSub(@!(1)))
Hyperbel Cosekans y = 2 / (Exp(x) - Exp(-x))
Def @ArcSinh(1) @Ln(@Add(@!(1),@Sqrt(@Add(@Sqr(@!(1)),1.0))))
Hyperbel Arcus Sinus y = Ln( x + Sqrt(x²+1) )
Def @ArcCosh(1) @Ln(@Add(@!(1),@Sqrt(@Sub(@Sqr(@!(1)),1.0))))
Hyperbel Arcus Cosinus y = Ln( x + Sqrt(x²-1) )
Def @ArcTanh(1) @Div(@Ln(@Div(@Add(1.0,@!(1)),@Sub(1.0,@!(1)))),2.0)
Hyperbel Arcus Tangens y = Ln( (1+x) / (1-x) ) / 2
Def @ArcCoth(1) @Div(@Ln(@Div(@Add(@!(1),1.0),@Sub(@!(1),1.0))),2.0)
Hyperbel Arcus Cotangens y = Ln( (x+1) / (x-1) ) / 2
Def @ArcSech(1) @Ln(@Div(@Add(@Sqrt(@Add(@Mul(@Neg(@!(1)),@!(1)),1.0)),1.0),@!(1)))
Hyperbel Arcus Sekans y = Ln( (Sqrt(-x*x+1)+1) / x )
Def @ArcCsch(1) @Ln(@Div(@Add(@Mul(@Sgn(@!(1)),@Sqrt(@Add(@Sqr(@!(1)),1.0))),1.0),@!(1)))
Hyperbel Arcus Cosekans y = Ln( ( Sgn(x) * Sqrt(x²+1) + 1 )
class=s2>/
x)