Перейти к содержимому

Как записать натуральный логарифм в с

  • автор:

Math. Log Метод

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Возвращает логарифм указанного числа.

Перегрузки

Возвращает логарифм указанного числа в системе счисления с указанным основанием.

Возвращает натуральный логарифм (с основанием e ) указанного числа.

Log(Double, Double)

Возвращает логарифм указанного числа в системе счисления с указанным основанием.

public: static double Log(double a, double newBase);
public static double Log (double a, double newBase);
static member Log : double * double -> double
Public Shared Function Log (a As Double, newBase As Double) As Double
Параметры

Число, логарифм которого требуется найти.

Возвращаемое значение

Одно из значений, перечисленных в следующей таблице. (+бесконечность обозначает PositiveInfinity, -бесконечность обозначает NegativeInfinity, а нечисловое значение обозначает NaN.)

a newBase Возвращаемое значение
a > 0 (0 < newBase < 1) -или- ( newBase >1) lognewBase(a)
a < 0 (любое значение) NaN
(любое значение) newBase < 0 не число
a != 1 newBase = 0 NaN
a != 1 newBase = +бесконечность NaN
a = NaN (любое значение) NaN
(любое значение) newBase = не число не число
(любое значение) newBase = 1 NaN
a = 0 0 < newBase < 1 +бесконечность
a = 0 newBase > 1 -бесконечность
a = +бесконечность 0 < newBase < 1 -Infinity
a = +бесконечность newBase > 1 +бесконечность
a = 1 newBase = 0 0
a = 1 newBase = +бесконечность 0

Примеры

В следующем примере используется Log для вычисления определенных логарифмических удостоверений для выбранных значений.

// Example for the Math::Log( double ) and Math::Log( double, double ) methods. using namespace System; // Evaluate logarithmic identities that are functions of two arguments. void UseBaseAndArg( double argB, double argX ) < // Evaluate log(B)[X] == 1 / log(X)[B]. Console::WriteLine( "\n Math::Log(, ) == " "\n 1.0 / Math::Log(, ) == ", argB, argX, Math::Log( argX, argB ), 1.0 / Math::Log( argB, argX ) ); // Evaluate log(B)[X] == ln[X] / ln[B]. Console::WriteLine( " Math::Log() / Math::Log() == ", argB, argX, Math::Log( argX ) / Math::Log( argB ) ); // Evaluate log(B)[X] == log(B)[e] * ln[X]. Console::WriteLine( "Math::Log(Math::E, ) * Math::Log() == ", argB, argX, Math::Log( Math::E, argB ) * Math::Log( argX ) ); > 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 ); >/* 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 */ 
// 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(, ) == " + "\n 1.0 / Math.Log(, ) == ", argB, argX, Math.Log(argX, argB), 1.0 / Math.Log(argB, argX) ); // Evaluate log(B)[X] == ln[X] / ln[B]. Console.WriteLine( " Math.Log() / Math.Log() == ", argB, argX, Math.Log(argX) / Math.Log(argB) ); // Evaluate log(B)[X] == log(B)[e] * ln[X]. Console.WriteLine( "Math.Log(Math.E, ) * Math.Log() == ", 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 */ 
// Example for the Math.Log( double ) and Math.Log( double, double ) methods. open System // Evaluate logarithmic identities that are functions of two arguments. let useBaseAndArg argB argX = // Evaluate log(B)[X] == 1 / log(X)[B]. printfn $""" Math.Log(, ) == 1.0 / Math.Log(, ) == """ // Evaluate log(B)[X] == ln[X] / ln[B]. printfn $" Math.Log() / Math.Log() == " // Evaluate log(B)[X] == log(B)[e] * ln[X]. printfn $"Math.Log(Math.E, ) * Math.Log() == " printfn """This example of Math.Log( double ) and Math.Log( double, double ) generates the following output. printfn "Evaluate these identities with selected values for X and B (base):""" printfn " log(B)[X] == 1 / log(X)[B]" printfn " log(B)[X] == ln[X] / ln[B]" printfn " 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 // 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 
' Example for the Math.Log( Double ) and Math.Log( Double, Double ) methods. Module LogDLogDD Sub Main() Console.WriteLine( _ "This example of Math.Log( Double ) and " + _ "Math.Log( Double, Double )" & vbCrLf & _ "generates the following output." & vbCrLf) 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) End Sub ' Evaluate logarithmic identities that are functions of two arguments. Sub UseBaseAndArg(argB As Double, argX As Double) ' Evaluate log(B)[X] = 1 / log(X)[B]. Console.WriteLine( _ vbCrLf & " Math.Log(, ) = " + _ vbCrLf & " 1.0 / Math.Log(, ) = ", _ argB, argX, Math.Log(argX, argB), _ 1.0 / Math.Log(argB, argX)) ' Evaluate log(B)[X] = ln[X] / ln[B]. Console.WriteLine( _ " Math.Log() / Math.Log() = ", _ argB, argX, Math.Log(argX) / Math.Log(argB)) ' Evaluate log(B)[X] = log(B)[e] * ln[X]. Console.WriteLine( _ "Math.Log(Math.E, ) * Math.Log() = ", _ argB, argX, Math.Log(Math.E, argB) * Math.Log(argX)) End Sub End Module 'LogDLogDD ' 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 

Комментарии

Этот метод вызывает базовую среду выполнения C, и точный результат или допустимый диапазон входных данных могут отличаться в разных операционных системах или архитектурах.

log в C++: натуральный логарифм с примерами

Всем привет! В данной статье речь пойдет о функции log из файла . Данная функция позволяет нам получить натуральный логарифм числа. Мы разберемся как работать с данной функцией, а также ее отличия от других похожих функций — logl и logf . В конце данного урока есть упражнения, которые помогут вам закрепить изученный материал.

Иллюстрация функции log

Как получить натуральный логарифм числа в C++

Для того, чтобы получить натуральный логарифм числа в C++ мы можем воспользоваться функцией log из файла . Ее сигнатура выглядит следующим образом:

double log (double x);

Данная функция принимает только один аргумент — число, для которого нужно вычислить логарифм. Функция возвращает результ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *