Phụ Lục: Sử Dụng Thư Viện Math Của Python - Ksec Club

Menu
  • About
  • Contact
  • More
    • Menu 1
    • Menu 2
    • Menu 3
    • Menu 4
  • Menu
  • twitter
  • facebook
  • google
  • rss
  • linkedin
  • dribbble
  • pinterest
Menu Search Home » Python » Phụ lục: Sử dụng thư viện Math của Python Phụ lục: Sử dụng thư viện Math của Python Chào các bạn! Các bạn đang xem loạt bài thuộc khóa học lập trình Python miễn phí do ksec.info tổ chức. Rất vui được gặp lại các bạn ở phụ lục.Đầu tiên mình xin giới thiệu tới bạn cách thêm 1 thư viện của Python vào trong chương trình. Ở đây chúng ta sẽ sử dụng cú pháp sau: Code: import <thư viện> Ví dụ: Code: import math import sys Khi các bạn muốn gọi tới các hàm con của thư viện, bạn sử dụng cú pháp: tenthuvien.tenham . Ví dụ: Code: abc = math.abs(-5) Thư viện các hàm toán họcDanh sách các module số và toán học bao gồm:math Các hàm toán học (sin() v.v...).cmath Các hàm toán học cho số phức.decimal Khai báo của các dạng số học thập phân tổng quátrandom Sinh ra các số "giả" ngẫu nhiên với các hàm phân bố xác suất thông thường.itertools Các hàm sinh ra các “iterators” sử dụng trong các vòng lặp hiệu quảfunctools Các hàm và thao tác có thứ tựưu tiên cao hơn trên các đối tượng gọi đượcoperator Tất cả các toán tử chuẩn của Python được cài đặt sẵnModule math cung cấp các truy cập tới các hàm thư viện cơ bản của C đối với các phép toán trên số thực>>> import math>>> math.cos(math.pi / 4.0)0.70710678118654757>>> math.log(1024, 2)10.0Module random cung cấp một cách thức để tạo ra sự lựa chọn ngẫu nhiên>>> import random>>> random.choice(['apple', 'pear', 'banana'])'apple'>>> random.sample(xrange(100), 10) # sampling without replacement[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]>>> random.random() # random float0.17970987693706186>>> random.randrange(6) # random integer chosen from range(6)4Sau đây, ta sẽ tìm hiểu về các hàm được xây dựng trong 2 module math và cmath.a. Các hàm toán học trong module math: Modul này luôn sẵn dùng. Nó cung cấp phương thức truy nhập các hàm toán học được định nghĩa theo chuẩn C.Module math cung cấp các hàm dưới đây. Tất cả đều trả về số thực ngoại trừ một số trường hợp đặc biệt.ceil(x)Hàm trả về giá trị cận trên của số thực x, tương ứng với giá trị nguyên nhỏ nhất lớn hơn x.fabs(x)Giá trị tuyệt đối của x.floor(x)Hàm trả về giá trị cận dưới của số thực x, tương ứng với giá trị nguyên lớn nhất nhỏ hơn x.fmod(x, y)Trả về fmod(x,y), được định nghĩa theo chuẩn thư viện C. Chú ý rằng trong Python phép toán x % y có thể không trả về cùng một kết quả tương tự. Thực tế trong chuẩn thư viện C thì fmod(x,y) trả về chính xác(phép toán, độ chính xác vô hạn) bằng x-n*y với 1 vài số nguyên n có cùng kết quả với dấu của x và độ lớn trị tuyệt đối của y. Trong khi đó, đối với Python thì phép toán x % y trả về kết quả là bao gồm cả dấu của y, và nó ko thểước tính chính xác cho các đối số thực.Ví dụ, fmod(-1e-100,1e100) là -1e-100, nhưng kết quả của -1e-100 % 1e100 là -1e-100,điều này không thể đưa ra kết quả chính xác đối với số thực, và làm tròn 1e100. Chính vì nguyên nhân này, hàm fmod() thường được ưu tiên khi làm việc với số thực, với x % y trong Python thì được ưu tiên với số nguyên.frexp(x)Trả về phần định trị và số mũ của x dưới dạng (m,e). m có giá trị thực còn e là số nguyên với x == m*2**e. Nếu x = 0, kết quả là (0.0,0), còn 0.5 <= abs(m) < 1.ldexp(x, i)Trả về x * (2 ** i). Là hàm ngược của hàm frexp().modf(x)Trả về phần phân số và phần nguyên của x. Cả hai đều mang dấu của x và đều có giá trị thực.Chú ý rằng frexp() và modf() có kiều gọi/ trả về khác nhau tương đương như trong C: Chúng lấy đối số đơn và trả về cặp giá trị, đúng hơn là sự trả về giá trị thứ 2 thông qua “tham số ra”( không có những điều như vậy trong Python).Đối với các hàm ceil(), floor() và modf(), chú ý là không phải tất cả các số thực có giá trị lớn đều chính xác là số nguyên. Số thực trong Python có độ chính xác không vượt quá 32 bít( giống với kiểu Double trong C), trong trường hợp giá trị thực x có abs(x) >=2**52 thì tất nhiên sẽ không có các bít phân số.Các hàm mũ và logarit:exp(x)Trả về e**xlog(x[, base])Trả về logarit của x với cơ số đưa ra là base. Nếu không đưa cơ cố base, thì tự động trả về logarit tự nhiên của x( logarit với cơ số e).log10(x)Trả về logarit cơ số 10 của x.pow(x, y)Trả về x ** ysqrt(x)Trả về căn bậc 2 của x.Các hàm lượng giác:acos(x)Trả về arc coosin của x theo radian.asin(x)Trả về arc sin của x theo radianatan(x)Trả về arc tang của x theo radianatan2(y, x)Trả về atan(y/x) theo radian. Kết quả nằm trong khoảng từ -pi đến pi. Vector trong mặt phẳng từ điểm gốc tọa độ tới điểm có tọa độ (x,y) tạo một góc với trục tọa độ X . Điểm của atan2() mà dấu của cả hai đầu vào được biết đến nó, vì vậy nó có thể tính toán chính xác độ của góc. Ví dụ, atan(1) và atan2(1,1) đều bằng pi/4 nhưng atan2(-1,-1) lại bằng –pi/4.cos(x)Trả về giá trị cosin của xhypot(x, y)Trả về dạng Oclit của sqrt(x*x+y*y).Đây là độ dài véc tơ từ gốc tọa độ tới điểm có tọa độ (x,y).sin(x)Trả về sin của x theo radiantan(x)Trả về tang của x theo radian.Hàm chuyển đổi góc:degrees(x)Chuyển góc x từ radian sang độ.radians(x)Chuyển góc x từ độ sang radian.Các hàm hypebon:cosh(x)Trả vè hyperbolic cosin của x.sinh(x)Trả về hyperbolic sin của x.tanh(x)Trả về hyperbolic tang của x.Các hằng số toán học được định nghĩa sẵn:piSố pi = 3.14159265358979….eSố e.b. Các hàm toán học cho số phức trong module cmath:Module này cung cấp cách truy nhập vào các hàm toán học cho số phức. Các hàm này gồm có:acos(x)Trả về arccos của x. Có 2 miền được chọn: 1 miền kéo dài về phía phải từ 1 liên tục tới ∞. Miền còn lại kéo dài về phía trái từ -1 liên tục tới -∞.acosh(x)Trả về hypedolic arccos của x. Chỉ có một miền được lấy ra, kéo dài về phía trái từ 1 liên tục cho tới -∞.asin(x)Trả về arcsin của x.Có dải giá trị cũng giống như arccos().asinh(x)Trả về hyperbolic arcsin của x. Có 2 miền giá trị được lấy ra, kéo dài liên tục về bên trái từ ±1j tới ±-∞j. Những miền này cần tính toán đến các lỗi để chính xác hơn. Miền chính xác được lấy ra sẽ mở rộng theo trục ảo, một liên tục từ 1j tới ∞j từ phía phải và một liên tục từ -1j tới -∞j từ phía trái.atan(x)Trả về arc tang của x. Có 2 miền được lấy ra: Một kéo dài liên tục từ 1j theo trục sốảo tới ∞j từ phía trái. Miền khác kéo dài liên tục từ -1j dọc theo trục sốảo tới ∞j từ phía trái.( Điều này sẽ chắc chắn thay đổi vì với miền cao hơn sẽ liên tục từ nhiều phía khác).atanh(x)Trả về hyperbolic arc tang của x. Có 2 miền giá trị được lấy ra: Một kéo dài liên tục từ 1 dọc theo trục số thực tới ∞. Miền còn lại kéo dài liên tục từ -1 dọc theo trục số thực tới -∞.( Điều này chắc chắn sẽ bị thay đổi vì miền phải lấy ra trở nên liên tục từ phía khác)cos(x)Trả về cosin của x.cosh(x)Trả về hyperbolic cosin của x.exp(x)Trả về giá trị mũ e**x.log(x[, base])Trả về logarit của x với cơ số là base. Nếu base ko được đưa ra, trả về giá trị logarit tự nhiên của x. Có một miền được lấy ra, từ 0 dọc theo miền âm trục số thực tới -∞. Được thay đổi trong phiên bản 2.4 : đối số base được thêm vào.log10(x)Trả về logarit cơ số 10 của x. Có miền tương tự như hàm log()sin(x)Trả về sin của x.sinh(x)Trả về hyperbolic sin của x.sqrt(x)Trả về căn bậc 2 của x. Miền được lấy ra tương tự như hàm log().tan(x)Trả về tang của x.tanh(x)Trả về hyperbolic tang của x.Các hằng số đươc định nghĩa trong module:piHằng số pi, tương tự như số thựceHằng số e, tương tự như số thựcChú ý rằng việc lựa chọn các hàm trong module cmath cũng gần tương tự như trong module math nhưng không hoàn toàn giống. Lý do khiến người ta xây dựng lên cả 2 module phân biệt này là vì có người sử dụng không thích dùng trong số phức, và có lẽ không cần quan tâm chúng là gì. Để xử lý với số phức họ có thể dùng hàm math.sqrt(-1), và giá trị trả về của các hàm trong cmath thì luôn là số phức, mặc dù giá trị đó có thể rõ ràng là số thực ( trong trường hợp số phức có phần ảo là 0). http://ksec.info/threads/phu-luc-su-dung-thu-vien-math-cua-python.39/ Posted by Unknown Labels: Python at 00:42
Next
Newer Post
Previous
Older Post
0 Comments G+ Comments Comments

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Ủng hộ Ksec Club

+ 1 để ủng hộ diễn đàn

> 0

Nhận bài viết mới

SUBSCRIBE TODAY Smiley face Sign up and receive our free Newsletter

Popular Posts

  • Phụ lục: Sử dụng thư viện Math của Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • Bài 9.1: Cấu trúc dữ liệu trong Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • Bài 1: Làm quen với ngôn ngữ lập trình java Bài viết thuộc loạt bài hướng dẫn trong "Khóa học lập trình  Java  " trên diễn đàn Ksec.info. Bài đăng lên diễn đàn khác,vui lòng ...
  • Bài 5: Nhập dữ liệu từ bàn phím trong Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • Bài 6: Đọc và viết file trong Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • Bài 4: Xử lý xâu khi in với print trong Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • Bài 7: Cấu trúc rẽ nhánh trong Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • Bài 8: Cấu trúc lặp và hàm điều khiển trong Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • Bài 3: Print kết hợp Biến trong Python ​ Chào các bạn! Các bạn đang xem loạt bài thuộc  khóa học lập trình   Python  miễn phí do  ksec.info  tổ chức. Rất vui được gặp lại các bạ...
  • [Miễn Phí] Khóa học lập trình Python cơ bản ​ Chào các bạn, mình xin giới thiệu với các bạn  khóa học   lập trình Python  căn bản chỉ có tại forum  ksec.info , hy vọng sau khóa học n...

Blog Archive

  • ▼  2014 (29)
    • ▼  February (29)
      • Bài tập lập trình C - Phần 1
      • Lập trình C: Bài 5: Cấu trúc vòng lặp(P1)
      • Lập trình C: Bài 4: Cấu trúc rẽ nhánh có điều kiện...
      • Lập trình C: Bài 3: Cấu trúc rẽ nhánh có điều kiện...
      • Bài 4: Mảng trong java
      • Bài 3: Các kiểu dữ liệu - Biến - Hằng trong java
      • Bài 2: Cài đặt các công cụ - Chương trình Hello World
      • Bài 1: Làm quen với ngôn ngữ lập trình java
      • Phụ lục: Sử dụng thư viện Math của Python
      • Bài 9.1: Cấu trúc dữ liệu trong Python
      • Bài 8: Cấu trúc lặp và hàm điều khiển trong Python
      • Bài 7: Cấu trúc rẽ nhánh trong Python
      • Bài 6: Đọc và viết file trong Python
      • Bài 5: Nhập dữ liệu từ bàn phím trong Python
      • Bài 4: Xử lý xâu khi in với print trong Python
      • Centos - Cấu hình SSH trên Centos
      • Centos - Cấu hình mạng
      • Centos - Cài đặt centos 6.5
      • Centos - Tổng quan về centos
      • Lập trình C: Bài 2: Hàm nhập/Xuất dữ liệu
      • Học lập trình PHP/MySQL với simplehtmldom
      • Lập trình C-Bài 1: các thành phần trong C
      • Lập trình C: Mở đầu: Làm quen C với DEVC++ && Tổng...
      • Ngôn ngữ lập trình Pascal - 1.Tìm hiểu về Pascal.
      • Loạt bài hướng dẫn lập trình Pascal cơ bản.
      • [Miễn Phí] Khóa học lập trình Python cơ bản
      • Bài 3: Print kết hợp Biến trong Python
      • Bài 2: Toán Tử và Biến trong Python
      • Bài 1: Print và Chú Thích trong Python

Labels

  • Centos
  • Java
  • Lập trình
  • Lập trình C
  • Linux
  • Pascal
  • Python
  Top

Nhận xét mới đăng tải!

Loading… X

Từ khóa » Thư Viện Toán Học Trong Python