Číst v angličtině

Sdílet prostřednictvím


Math.Log Metoda

Definice

Vrátí logaritmus zadaného čísla.

Přetížení

Log(Double, Double)

Vrátí logaritmus zadaného čísla v zadaném základu.

Log(Double)

Vrátí přirozený (základní e) logaritmus zadaného čísla.

Log(Double, Double)

Zdroj:
Math.cs
Zdroj:
Math.cs
Zdroj:
Math.cs

Vrátí logaritmus zadaného čísla v zadaném základu.

public static double Log (double a, double newBase);

Parametry

a
Double

Číslo, jehož logaritmus se má najít.

newBase
Double

Základ logaritmu.

Návraty

Jedna z hodnot v následující tabulce. (+Infinity označuje PositiveInfinity, -Infinity označuje NegativeInfinitya NaN označuje NaN.)

anewBase Vrácená hodnota
a > 0 (0 <newBase< 1) –nebo (newBase> 1) lognewBase(a)
a < 0 (libovolná hodnota) Není číslo
(libovolná hodnota) newBase < 0 Není číslo
a != 1 newBase = 0 Není číslo
a != 1 newBase = +Nekonečno Není číslo
a = NaN (libovolná hodnota) Není číslo
(libovolná hodnota) newBase = NaN Není číslo
(libovolná hodnota) newBase = 1 Není číslo
a = 0 0 <newBase< 1 +Nekonečno
a = 0 newBase > 1 -Nekonečno
a = +Nekonečno 0 <newBase< 1 -Nekonečno
a = +Nekonečno newBase > 1 +Nekonečno
a = 1 newBase = 0 0
a = 1 newBase = +Nekonečno 0

Příklady

Následující příklad používá Log k vyhodnocení určitých logaritmických identit pro vybrané hodnoty.

// Example for the Math.Log( double ) and Math.Log( double, double ) methods.
using System;

class LogDLogDD
{
    public static void Main()
    {
        Console.WriteLine(
            "This example of Math.Log( double ) and " +
            "Math.Log( double, double )\n" +
            "generates the following output.\n" );
        Console.WriteLine(
            "Evaluate these identities with " +
            "selected values for X and B (base):" );
        Console.WriteLine( "   log(B)[X] == 1 / log(X)[B]" );
        Console.WriteLine( "   log(B)[X] == ln[X] / ln[B]" );
        Console.WriteLine( "   log(B)[X] == log(B)[e] * ln[X]" );

        UseBaseAndArg(0.1, 1.2);
        UseBaseAndArg(1.2, 4.9);
        UseBaseAndArg(4.9, 9.9);
        UseBaseAndArg(9.9, 0.1);
    }

    // Evaluate logarithmic identities that are functions of two arguments.
    static void UseBaseAndArg(double argB, double argX)
    {
        // Evaluate log(B)[X] == 1 / log(X)[B].
        Console.WriteLine(
            "\n                   Math.Log({1}, {0}) == {2:E16}" +
            "\n             1.0 / Math.Log({0}, {1}) == {3:E16}",
            argB, argX, Math.Log(argX, argB),
            1.0 / Math.Log(argB, argX) );

        // Evaluate log(B)[X] == ln[X] / ln[B].
        Console.WriteLine(
            "        Math.Log({1}) / Math.Log({0}) == {2:E16}",
            argB, argX, Math.Log(argX) / Math.Log(argB) );

        // Evaluate log(B)[X] == log(B)[e] * ln[X].
        Console.WriteLine(
            "Math.Log(Math.E, {0}) * Math.Log({1}) == {2:E16}",
            argB, argX, Math.Log(Math.E, argB) * Math.Log(argX) );
    }
}

/*
This example of Math.Log( double ) and Math.Log( double, double )
generates the following output.

Evaluate these identities with selected values for X and B (base):
   log(B)[X] == 1 / log(X)[B]
   log(B)[X] == ln[X] / ln[B]
   log(B)[X] == log(B)[e] * ln[X]

                   Math.Log(1.2, 0.1) == -7.9181246047624818E-002
             1.0 / Math.Log(0.1, 1.2) == -7.9181246047624818E-002
        Math.Log(1.2) / Math.Log(0.1) == -7.9181246047624818E-002
Math.Log(Math.E, 0.1) * Math.Log(1.2) == -7.9181246047624804E-002

                   Math.Log(4.9, 1.2) == 8.7166610085093179E+000
             1.0 / Math.Log(1.2, 4.9) == 8.7166610085093161E+000
        Math.Log(4.9) / Math.Log(1.2) == 8.7166610085093179E+000
Math.Log(Math.E, 1.2) * Math.Log(4.9) == 8.7166610085093179E+000

                   Math.Log(9.9, 4.9) == 1.4425396251981288E+000
             1.0 / Math.Log(4.9, 9.9) == 1.4425396251981288E+000
        Math.Log(9.9) / Math.Log(4.9) == 1.4425396251981288E+000
Math.Log(Math.E, 4.9) * Math.Log(9.9) == 1.4425396251981288E+000

                   Math.Log(0.1, 9.9) == -1.0043839404494075E+000
             1.0 / Math.Log(9.9, 0.1) == -1.0043839404494075E+000
        Math.Log(0.1) / Math.Log(9.9) == -1.0043839404494075E+000
Math.Log(Math.E, 9.9) * Math.Log(0.1) == -1.0043839404494077E+000
*/

Poznámky

Tato metoda volá základní modul runtime jazyka C a přesný výsledek nebo platný vstupní rozsah se může v různých operačních systémech nebo architekturách lišit.

Platí pro

.NET 9 a další verze
Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Log(Double)

Zdroj:
Math.cs
Zdroj:
Math.cs
Zdroj:
Math.cs

Vrátí přirozený (základní e) logaritmus zadaného čísla.

public static double Log (double d);

Parametry

d
Double

Číslo, jehož logaritmus se má najít.

Návraty

Jedna z hodnot v následující tabulce.

d Parametr Vrácená hodnota
Kladné Přirozený logaritmus d; tj. ln d, nebo log e d
ŽádnouNegativeInfinity
ZápornýNaN
Rovná se NaNNaN
Rovná se PositiveInfinityPositiveInfinity

Příklady

Následující příklad ukazuje metodu Log .

using System;
public class Example
{
   public static void Main()
   {
      Console.WriteLine("  Evaluate this identity with selected values for X:");
      Console.WriteLine("                              ln(x) = 1 / log[X](B)");
      Console.WriteLine();

      double[] XArgs = { 1.2, 4.9, 9.9, 0.1 };

      foreach (double argX in XArgs)
      {
         // Find natural log of argX.
         Console.WriteLine("                      Math.Log({0}) = {1:E16}",
                           argX, Math.Log(argX));

         // Evaluate 1 / log[X](e).
         Console.WriteLine("             1.0 / Math.Log(e, {0}) = {1:E16}",
                           argX, 1.0 / Math.Log(Math.E, argX));
         Console.WriteLine();
      }
   }
}
// This example displays the following output:
//         Evaluate this identity with selected values for X:
//                                     ln(x) = 1 / log[X](B)
//
//                             Math.Log(1.2) = 1.8232155679395459E-001
//                    1.0 / Math.Log(e, 1.2) = 1.8232155679395459E-001
//
//                             Math.Log(4.9) = 1.5892352051165810E+000
//                    1.0 / Math.Log(e, 4.9) = 1.5892352051165810E+000
//
//                             Math.Log(9.9) = 2.2925347571405443E+000
//                    1.0 / Math.Log(e, 9.9) = 2.2925347571405443E+000
//
//                             Math.Log(0.1) = -2.3025850929940455E+000
//                    1.0 / Math.Log(e, 0.1) = -2.3025850929940455E+000

Poznámky

Parametr d je určen jako základní číslo 10.

Tato metoda volá základní modul runtime jazyka C a přesný výsledek nebo platný vstupní rozsah se může v různých operačních systémech nebo architekturách lišit.

Tato metoda volá základní modul runtime jazyka C a přesný výsledek nebo platný vstupní rozsah se může v různých operačních systémech nebo architekturách lišit.

Viz také

Platí pro

.NET 9 a další verze
Produkt Verze
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0