Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Hàm logarit trong Python


Trong hướng dẫn này, ta sẽ học về các hàm logarit từ module math. Python cung cấp 4 biến thể hàm logarit. Cả bốn đều có trong module math. Hãy tìm hiểu từng cái.

math.log(number, [Base])

Phương thức math.log(number, [Base]) dùng để tính logarit của number với cơ số Base bất kỳ. Nếu không chỉ định base, mặc định lấy e.

Lưu ý − Sẽ gặp ValueError nếu truyền số âm.

Ví dụ

Xem một số ví dụ.

# import math module import math # logarit cơ số 3 print(math.log(15, 7))

Kết quả

Nếu chạy chương trình trên, ta được kết quả sau.

1.3916625094004957

Bạn có thể chỉ định bất kỳ cơ số nào. Xem ví dụ không có base. Cơ số mặc định là e.

Ví dụ

# import math module import math # logarit cơ số e (mặc định) print(math.log(15))

Kết quả

Nếu chạy mã trên, ta được kết quả sau.

2.70805020110221

Ví dụ

Xem gì xảy ra nếu truyền số âm cho math.log().

# import math module import math # logarit với số âm print(math.log(-15))

Kết quả

Nếu chạy chương trình trên, ta được kết quả sau.

--------------------------------------------------------------------------- ValueError                   Traceback (most recent call last) <ipython-input-6-b686fcb806c6> in <module>       3       4 # logarit với cơ số e(mặc định) ----> 5 print(math.log(-15)) ValueError: math domain error

math.log2(number)

Nếu muốn tính logarit cơ số 2, dùng math.log2(). Tương tự phương thức trên. Xem ví dụ.

Ví dụ

# import math module import math # logarit cơ số 2 print(math.log2(15))

Kết quả

Nếu chạy mã trên, ta được kết quả sau.

3.9068905956085187

Tương tự math.log, sẽ lỗi nếu truyền số âm cho math.log2.

Ví dụ

# import math module import math # logarit cơ số 2 & số âm print(math.log2(-15))

Kết quả

Nếu xem đầu ra, lỗi giống như trước.

--------------------------------------------------------------------------- ValueError                               Traceback (most recent call last) <ipython-input-3-8019b45e571f> in <module>       3       4 # logarit cơ số 2 & số âm ----> 5 print(math.log2(-15)) ValueError: math domain error

math.log10(number)

Ta có thể tìm logarit cơ số 10 bằng math.log10. Tương tự math.log2. Xem ví dụ.

Ví dụ

# import math module import math # logarit cơ số 10 print(math.log10(15))

Kết quả

Nếu chạy chương trình, ta được đầu ra sau.

1.1760912590556813

Thử truyền số âm cho math.log10. Sẽ gặp lỗi tương tự.

Ví dụ

# import math module import math # logarit cơ số 10 & số âm print(math.log10(-15))

Kết quả

Nếu xem đầu ra, ta gặp lỗi sau.

--------------------------------------------------------------------------- ValueError                            Traceback (most recent call last) <ipython-input-5-52ac56b802ca> in <module>       3       4 # logarit cơ số 10 & số âm ----> 5 print(math.log10(-15)) ValueError: math domain error

math.log1p(number)

Phương thức math.log1p(x) tính log(1 + x) với cơ số e. Nó tính logarit của số cho trước bằng cách cộng 1 vào nó. Xem ví dụ.

Ví dụ

# import math module import math # logarit print(math.log1p(15)) # tương đương math.log(16)

Kết quả

Nếu chạy chương trình, ta được kết quả sau.

2.772588722239781

Thử truyền số âm cho math.log1p. Chắc chắn sẽ gặp lỗi như trước.

Ví dụ

# import math module import math # logarit print(math.log1p(-15))

Kết quả

Ta sẽ gặp lỗi sau do số âm truyền vào.

--------------------------------------------------------------------------- ValueError                      Traceback (most recent call last) <ipython-input-15-26016884cb23> in <module>       3       4 # logarit ----> 5 print(math.log1p(-15)) ValueError: math domain error

Kết luận

Ta đã xem tổng cộng 4 phương thức logarit từ module math. Sẽ gặp lỗi nếu truyền số âm cho bất kỳ phương thức nào. Cũng có thể truyền số thực (float). Hãy thử chạy ví dụ trong hướng dẫn với số thực.