MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
小さい X の 1+X の自然対数を正確に計算
X
1+X
Y = log1p(X)
Y = log1p(X) は、1+X を明示的に計算せずに、配列 X の各要素の自然対数 log(1+X) を計算します。X < -1 である場合、Y は複素数です。この関数は、1+X の丸め誤差を補正するため、X の小さな実数値に対してより正確です。
Y
log(1+X)
X < -1
例
すべて折りたたむ
log(1+X) と log1p(X) の精度を比較します。
log1p(X)
小さな実数値のベクトルを作成します。
X = [-1e-16 1e-15 2e-14]
X = 1×3 10-13 × -0.0010 0.0100 0.2000
関数 log を使用して、1+X の自然対数を計算します。
log
Y = log(1+X)
Y = 1×3 10-13 × -0.0011 0.0111 0.1998
結果はゼロになるか、相対誤差が大きくなります。たとえば、Y(2) は X(2)、つまり 1e-15 に近くありません。
Y(2)
X(2)
1e-15
ans = 1.1102e-15
関数 log1p を使用して、1+X の自然対数を計算します。
log1p
Y = 1×3 10-13 × -0.0010 0.0100 0.2000
この場合、log1p(X) はおよそ X となり、結果はより正確です。たとえば、Y(2) は X(2)、つまり 1e-15 に近くなっています。
ans = 1.0000e-15
入力配列。スカラー、ベクトル、行列、多次元配列、table または timetable として指定します。
データ型: single | double | table | timetable 複素数のサポート: あり
single
double
table
timetable
すべて展開する
log1p 関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
log1p 関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
GPU で実行される関数の出力が複素数になる可能性がある場合は、入力引数を明示的に複素数として指定しなければなりません。詳細については、GPU 上での複素数の処理 (Parallel Computing Toolbox)を参照してください。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
関数 log1p は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
log | expm1
expm1
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 のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ