log1p
小さい X
の 1+X
の自然対数を正確に計算
説明
例
log(1+X)
と log1p(X)
の精度を比較します。
小さな実数値のベクトルを作成します。
X = [-1e-16 1e-15 2e-14]
X = 1×3
10-13 ×
-0.0010 0.0100 0.2000
関数 log
を使用して、1+X
の自然対数を計算します。
Y = log(1+X)
Y = 1×3
10-13 ×
-0.0011 0.0111 0.1998
結果はゼロになるか、相対誤差が大きくなります。たとえば、Y(2)
は X(2)
、つまり 1e-15
に近くありません。
Y(2)
ans = 1.1102e-15
関数 log1p
を使用して、1+X
の自然対数を計算します。
Y = log1p(X)
Y = 1×3
10-13 ×
-0.0010 0.0100 0.2000
この場合、log1p(X)
はおよそ X
となり、結果はより正確です。たとえば、Y(2)
は X(2)
、つまり 1e-15
に近くなっています。
Y(2)
ans = 1.0000e-15
入力引数
入力配列。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。
データ型: single
| double
| table
| timetable
複素数のサポート: あり
拡張機能
log1p
関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
log1p
関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
GPU で実行される関数の出力が複素数になる可能性がある場合は、入力引数を明示的に複素数として指定しなければなりません。詳細については、GPU 上での複素数の処理 (Parallel Computing Toolbox)を参照してください。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入関数 log1p
は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)