محاسبه (log(1+x به طور دقیق برای مقادیر کوچک x (لگاریتم طبیعی - Ln) (به دست آوردن نتایج دقیقتر از نتایج دستور log)، با دستور log1p ، در متلب (MATLAB)
در کلیدهای آموزشی دیگر، دستور log را برای محاسبه لگاریتم طبیعی (Ln) در متلب (MATLAB)، معرفی کردیم. اما دستور log هنگام محاسبه (log(1+x برای مقادیر کوچک x ، دارای دقت کافی نیست و برای این محاسبات، می توانیم ازدستور log1p در متلب (MATLAB)، استفاده کنیم تا به دقت بیشتری در نتایج برسیم.
برای مقادیر کوچک x ، مقدار log1p(x) تقریبا برابر x خواهد بود، اما مقدار log(1+x) می تواند صفر (0) باشد (که دارای دقت کافی نیست).
به مثال زیر توجه کنید :
برای مقادیر مختلف، هر دو دستور log1p و log را به کار می بریم تا میزان تفاوت نتایج آنها را متوجه شوید :
xxxxxxxxxx
clear all
close all
clc
A = 1 + 0.000001
A_1 = log1p(A)
A_2 = log(A)
B = 1 + 0.0001
B_1 = log1p(B)
B_2 = log(B)
C = 1 + 0.01
C_1 = log1p(C)
C_2 = log(C)
3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه :
xxxxxxxxxx
A =
1.0000
A_1 =
0.6931
A_2 =
1.0000e-06
B =
1.0001
B_1 =
0.6932
B_2 =
9.9995e-05
C =
1.0100
C_1 =
0.6981
C_2 =
0.0100