次の方法で共有


Math.Exp メソッド

指定した値で e を累乗した値を返します。

Public Shared Function Exp( _
   ByVal d As Double _) As Double
[C#]
public static double Exp(doubled);
[C++]
public: static double Exp(doubled);
[JScript]
public static function Exp(
   d : double) : double;

パラメータ

  • d
    累乗を指定する数値。

戻り値

数値 ed で累乗した値。 dNaN または PositiveInfinity のいずれかに等しい場合は、その値が返されます。 dNegativeInfinity に等しい場合は、0 が返されます。

解説

他の底の累乗を計算するには、 Pow メソッドを使用します。

Exp は、 Log の逆数です。

使用例

[Visual Basic, C#, C++] 次に示すのは、 Exp を使用して、選択した値から対数恒等式を求める例です。

 
' Example for the Math.Exp( Double ) method.
Imports System
Imports Microsoft.VisualBasic

Module ExpDemo
   
    Sub Main()
        Console.WriteLine( _
            "This example of Math.Exp( Double ) " & _
            "generates the following output." & vbCrLf)
        Console.WriteLine( _
            "Evaluate [e ^ ln(X) == ln(e ^ X) == X] " & _
            "with selected values for X:")

        UseLnExp(0.1)
        UseLnExp(1.2)
        UseLnExp(4.9)
        UseLnExp(9.9)
          
        Console.WriteLine( vbCrLf & _
            "Evaluate these identities with selected values for X and Y:")
        Console.WriteLine("   (e ^ X) * (e ^ Y) = e ^ (X + Y)")
        Console.WriteLine("   (e ^ X) ^ Y = e ^ (X * Y)")
        Console.WriteLine("   X ^ Y = e ^ (Y * ln(X))")
          
        UseTwoArgs(0.1, 1.2)
        UseTwoArgs(1.2, 4.9)
        UseTwoArgs(4.9, 9.9)
    End Sub 'Main
       
    ' Evaluate logarithmic/exponential identity with a given argument.
    Sub UseLnExp(arg As Double)

        ' Evaluate e ^ ln(X) = ln(e ^ X) = X.
        Console.WriteLine( _
            vbCrLf & "      Math.Exp(Math.Log({0})) = {1:E16}" + _
            vbCrLf & "      Math.Log(Math.Exp({0})) = {2:E16}", _
            arg, Math.Exp(Math.Log(arg)), Math.Log(Math.Exp(arg)))
    End Sub 'UseLnExp
       
    ' Evaluate exponential identities that are functions of two arguments.
    Sub UseTwoArgs(argX As Double, argY As Double)

        ' Evaluate (e ^ X) * (e ^ Y) = e ^ (X + Y).
        Console.WriteLine( _
            vbCrLf & "Math.Exp({0}) * Math.Exp({1}) = {2:E16}" + _
            vbCrLf & "          Math.Exp({0} + {1}) = {3:E16}", _
            argX, argY, Math.Exp(argX) * Math.Exp(argY), _
            Math.Exp((argX + argY)))
          
        ' Evaluate (e ^ X) ^ Y = e ^ (X * Y).
        Console.WriteLine( _
            " Math.Pow(Math.Exp({0}), {1}) = {2:E16}" + _
            vbCrLf & "          Math.Exp({0} * {1}) = {3:E16}", _
            argX, argY, Math.Pow(Math.Exp(argX), argY), _
            Math.Exp((argX * argY)))
          
        ' Evaluate X ^ Y = e ^ (Y * ln(X)).
        Console.WriteLine( _
            "           Math.Pow({0}, {1}) = {2:E16}" + _
            vbCrLf & "Math.Exp({1} * Math.Log({0})) = {3:E16}", _
            argX, argY, Math.Pow(argX, argY), _
            Math.Exp((argY * Math.Log(argX))))

    End Sub 'UseTwoArgs
End Module 'ExpDemo

' This example of Math.Exp( Double ) generates the following output.
' 
' Evaluate [e ^ ln(X) == ln(e ^ X) == X] with selected values for X:
' 
'       Math.Exp(Math.Log(0.1)) = 1.0000000000000001E-001
'       Math.Log(Math.Exp(0.1)) = 1.0000000000000008E-001
' 
'       Math.Exp(Math.Log(1.2)) = 1.2000000000000000E+000
'       Math.Log(Math.Exp(1.2)) = 1.2000000000000000E+000
' 
'       Math.Exp(Math.Log(4.9)) = 4.9000000000000012E+000
'       Math.Log(Math.Exp(4.9)) = 4.9000000000000004E+000
' 
'       Math.Exp(Math.Log(9.9)) = 9.9000000000000004E+000
'       Math.Log(Math.Exp(9.9)) = 9.9000000000000004E+000
' 
' Evaluate these identities with selected values for X and Y:
'    (e ^ X) * (e ^ Y) = e ^ (X + Y)
'    (e ^ X) ^ Y = e ^ (X * Y)
'    X ^ Y = e ^ (Y * ln(X))
' 
' Math.Exp(0.1) * Math.Exp(1.2) = 3.6692966676192444E+000
'           Math.Exp(0.1 + 1.2) = 3.6692966676192444E+000
'  Math.Pow(Math.Exp(0.1), 1.2) = 1.1274968515793757E+000
'           Math.Exp(0.1 * 1.2) = 1.1274968515793757E+000
'            Math.Pow(0.1, 1.2) = 6.3095734448019331E-002
' Math.Exp(1.2 * Math.Log(0.1)) = 6.3095734448019344E-002
' 
' Math.Exp(1.2) * Math.Exp(4.9) = 4.4585777008251705E+002
'           Math.Exp(1.2 + 4.9) = 4.4585777008251716E+002
'  Math.Pow(Math.Exp(1.2), 4.9) = 3.5780924170885260E+002
'           Math.Exp(1.2 * 4.9) = 3.5780924170885277E+002
'            Math.Pow(1.2, 4.9) = 2.4433636334442981E+000
' Math.Exp(4.9 * Math.Log(1.2)) = 2.4433636334442981E+000
' 
' Math.Exp(4.9) * Math.Exp(9.9) = 2.6764450551890982E+006
'           Math.Exp(4.9 + 9.9) = 2.6764450551891015E+006
'  Math.Pow(Math.Exp(4.9), 9.9) = 1.1684908531676833E+021
'           Math.Exp(4.9 * 9.9) = 1.1684908531676829E+021
'            Math.Pow(4.9, 9.9) = 6.8067718210957060E+006
' Math.Exp(9.9 * Math.Log(4.9)) = 6.8067718210956985E+006

[C#] 
// Example for the Math.Exp( double ) method.
using System;

class ExpDemo 
{
    public static void Main() 
    {
        Console.WriteLine( 
            "This example of Math.Exp( double ) " +
            "generates the following output.\n" );
        Console.WriteLine( 
            "Evaluate [e ^ ln(X) == ln(e ^ X) == X] " +
            "with selected values for X:" );

        UseLnExp(0.1);
        UseLnExp(1.2);
        UseLnExp(4.9);
        UseLnExp(9.9);

        Console.WriteLine( 
            "\nEvaluate these identities with " +
            "selected values for X and Y:" );
        Console.WriteLine( "   (e ^ X) * (e ^ Y) == e ^ (X + Y)" );
        Console.WriteLine( "   (e ^ X) ^ Y == e ^ (X * Y)" );
        Console.WriteLine( "   X ^ Y == e ^ (Y * ln(X))" );

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

    // Evaluate logarithmic/exponential identity with a given argument.
    static void UseLnExp(double arg)
    {
        // Evaluate e ^ ln(X) == ln(e ^ X) == X.
        Console.WriteLine( 
            "\n      Math.Exp(Math.Log({0})) == {1:E16}\n" +
            "      Math.Log(Math.Exp({0})) == {2:E16}",
            arg, Math.Exp(Math.Log(arg)), Math.Log(Math.Exp(arg)) );
    }

    // Evaluate exponential identities that are functions of two arguments.
    static void UseTwoArgs(double argX, double argY)
    {
        // Evaluate (e ^ X) * (e ^ Y) == e ^ (X + Y).
        Console.WriteLine( 
            "\nMath.Exp({0}) * Math.Exp({1}) == {2:E16}" + 
            "\n          Math.Exp({0} + {1}) == {3:E16}", 
            argX, argY, Math.Exp(argX) * Math.Exp(argY),
            Math.Exp(argX + argY) );

        // Evaluate (e ^ X) ^ Y == e ^ (X * Y).
        Console.WriteLine( 
            " Math.Pow(Math.Exp({0}), {1}) == {2:E16}" +
            "\n          Math.Exp({0} * {1}) == {3:E16}",
            argX, argY, Math.Pow(Math.Exp(argX), argY),
            Math.Exp(argX * argY) );

        // Evaluate X ^ Y == e ^ (Y * ln(X)).
        Console.WriteLine( 
            "           Math.Pow({0}, {1}) == {2:E16}" + 
            "\nMath.Exp({1} * Math.Log({0})) == {3:E16}", 
            argX, argY, Math.Pow(argX, argY), 
            Math.Exp(argY * Math.Log(argX)) );
    }
}

/*
This example of Math.Exp( double ) generates the following output.

Evaluate [e ^ ln(X) == ln(e ^ X) == X] with selected values for X:

      Math.Exp(Math.Log(0.1)) == 1.0000000000000001E-001
      Math.Log(Math.Exp(0.1)) == 1.0000000000000008E-001

      Math.Exp(Math.Log(1.2)) == 1.2000000000000000E+000
      Math.Log(Math.Exp(1.2)) == 1.2000000000000000E+000

      Math.Exp(Math.Log(4.9)) == 4.9000000000000012E+000
      Math.Log(Math.Exp(4.9)) == 4.9000000000000004E+000

      Math.Exp(Math.Log(9.9)) == 9.9000000000000004E+000
      Math.Log(Math.Exp(9.9)) == 9.9000000000000004E+000

Evaluate these identities with selected values for X and Y:
   (e ^ X) * (e ^ Y) == e ^ (X + Y)
   (e ^ X) ^ Y == e ^ (X * Y)
   X ^ Y == e ^ (Y * ln(X))

Math.Exp(0.1) * Math.Exp(1.2) == 3.6692966676192444E+000
          Math.Exp(0.1 + 1.2) == 3.6692966676192444E+000
 Math.Pow(Math.Exp(0.1), 1.2) == 1.1274968515793757E+000
          Math.Exp(0.1 * 1.2) == 1.1274968515793757E+000
           Math.Pow(0.1, 1.2) == 6.3095734448019331E-002
Math.Exp(1.2 * Math.Log(0.1)) == 6.3095734448019344E-002

Math.Exp(1.2) * Math.Exp(4.9) == 4.4585777008251705E+002
          Math.Exp(1.2 + 4.9) == 4.4585777008251716E+002
 Math.Pow(Math.Exp(1.2), 4.9) == 3.5780924170885260E+002
          Math.Exp(1.2 * 4.9) == 3.5780924170885277E+002
           Math.Pow(1.2, 4.9) == 2.4433636334442981E+000
Math.Exp(4.9 * Math.Log(1.2)) == 2.4433636334442981E+000

Math.Exp(4.9) * Math.Exp(9.9) == 2.6764450551890982E+006
          Math.Exp(4.9 + 9.9) == 2.6764450551891015E+006
 Math.Pow(Math.Exp(4.9), 9.9) == 1.1684908531676833E+021
          Math.Exp(4.9 * 9.9) == 1.1684908531676829E+021
           Math.Pow(4.9, 9.9) == 6.8067718210957060E+006
Math.Exp(9.9 * Math.Log(4.9)) == 6.8067718210956985E+006
*/

[C++] 
// Example for the Math::Exp( double ) method.
#using <mscorlib.dll>
using namespace System;

// Evaluate logarithmic/exponential identity with a given argument.
void UseLnExp(double arg)
{
    // Evaluate e ^ ln(X) == ln(e ^ X) == X.
    Console::WriteLine( 
        S"\n      Math::Exp(Math::Log({0})) == {1:E16}\n" 
        S"      Math::Log(Math::Exp({0})) == {2:E16}",
        __box(arg), __box(Math::Exp(Math::Log(arg))), 
        __box(Math::Log(Math::Exp(arg))) );
}

// Evaluate exponential identities that are functions of two arguments.
void UseTwoArgs(double argX, double argY)
{
    // Evaluate (e ^ X) * (e ^ Y) == e ^ (X + Y).
    Console::WriteLine( 
        S"\nMath::Exp({0}) * Math::Exp({1}) == {2:E16}" 
        S"\n           Math::Exp({0} + {1}) == {3:E16}", 
        __box(argX), __box(argY), 
        __box(Math::Exp(argX) * Math::Exp(argY)),
        __box(Math::Exp(argX + argY)) );

    // Evaluate (e ^ X) ^ Y == e ^ (X * Y).
    Console::WriteLine( 
        S" Math::Pow(Math::Exp({0}), {1}) == {2:E16}" 
        S"\n           Math::Exp({0} * {1}) == {3:E16}",
        __box(argX), __box(argY), 
        __box(Math::Pow(Math::Exp(argX), argY)),
        __box(Math::Exp(argX * argY)) );

    // Evaluate X ^ Y == e ^ (Y * ln(X)).
    Console::WriteLine( 
        S"            Math::Pow({0}, {1}) == {2:E16}" 
        S"\nMath::Exp({1} * Math::Log({0})) == {3:E16}", 
        __box(argX), __box(argY), 
        __box(Math::Pow(argX, argY)), 
        __box(Math::Exp(argY * Math::Log(argX))) );
}

void main() 
{
    Console::WriteLine( 
        S"This example of Math::Exp( double ) " 
        S"generates the following output.\n" );
    Console::WriteLine( 
        S"Evaluate [e ^ ln(X) == ln(e ^ X) == X] "
        S"with selected values for X:" );

    UseLnExp(0.1);
    UseLnExp(1.2);
    UseLnExp(4.9);
    UseLnExp(9.9);

    Console::WriteLine( 
        S"\nEvaluate these identities with "
        S"selected values for X and Y:" );
    Console::WriteLine( S"   (e ^ X) * (e ^ Y) == e ^ (X + Y)" );
    Console::WriteLine( S"   (e ^ X) ^ Y == e ^ (X * Y)" );
    Console::WriteLine( S"   X ^ Y == e ^ (Y * ln(X))" );

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

/*
This example of Math::Exp( double ) generates the following output.

Evaluate [e ^ ln(X) == ln(e ^ X) == X] with selected values for X:

      Math::Exp(Math::Log(0.1)) == 1.0000000000000001E-001
      Math::Log(Math::Exp(0.1)) == 1.0000000000000008E-001

      Math::Exp(Math::Log(1.2)) == 1.2000000000000000E+000
      Math::Log(Math::Exp(1.2)) == 1.2000000000000000E+000

      Math::Exp(Math::Log(4.9)) == 4.9000000000000012E+000
      Math::Log(Math::Exp(4.9)) == 4.9000000000000004E+000

      Math::Exp(Math::Log(9.9)) == 9.9000000000000004E+000
      Math::Log(Math::Exp(9.9)) == 9.9000000000000004E+000

Evaluate these identities with selected values for X and Y:
   (e ^ X) * (e ^ Y) == e ^ (X + Y)
   (e ^ X) ^ Y == e ^ (X * Y)
   X ^ Y == e ^ (Y * ln(X))

Math::Exp(0.1) * Math::Exp(1.2) == 3.6692966676192444E+000
           Math::Exp(0.1 + 1.2) == 3.6692966676192444E+000
 Math::Pow(Math::Exp(0.1), 1.2) == 1.1274968515793757E+000
           Math::Exp(0.1 * 1.2) == 1.1274968515793757E+000
            Math::Pow(0.1, 1.2) == 6.3095734448019331E-002
Math::Exp(1.2 * Math::Log(0.1)) == 6.3095734448019344E-002

Math::Exp(1.2) * Math::Exp(4.9) == 4.4585777008251705E+002
           Math::Exp(1.2 + 4.9) == 4.4585777008251716E+002
 Math::Pow(Math::Exp(1.2), 4.9) == 3.5780924170885260E+002
           Math::Exp(1.2 * 4.9) == 3.5780924170885277E+002
            Math::Pow(1.2, 4.9) == 2.4433636334442981E+000
Math::Exp(4.9 * Math::Log(1.2)) == 2.4433636334442981E+000

Math::Exp(4.9) * Math::Exp(9.9) == 2.6764450551890982E+006
           Math::Exp(4.9 + 9.9) == 2.6764450551891015E+006
 Math::Pow(Math::Exp(4.9), 9.9) == 1.1684908531676833E+021
           Math::Exp(4.9 * 9.9) == 1.1684908531676829E+021
            Math::Pow(4.9, 9.9) == 6.8067718210957060E+006
Math::Exp(9.9 * Math::Log(4.9)) == 6.8067718210956985E+006
*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Math クラス | Math メンバ | System 名前空間 | E | Pow | Log