1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài Tiểu Luận Sử Dụng Python Với Bài Tập Ứng Dụng Phép Toán Về Tính Định Thức Trong Kinh Tế.pdf

26 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 1,88 MB

Nội dung

Cách tính định thức bằng phép biến đổi sơ cấp...16 Chương 3: Sử dụng Python với bài tập ứng dụng phép toán về tính Định thức trong kinh tế...17 1.1.. Trong khuôn khổ của tiểu luận khoa h

Trang 1

BỘ KẾ HOẠCH VÀ ĐẦU TƯ

HỌC VIỆN CHÍNH SÁCH VÀ PHÁT TRIỂN

Trí tuệ và Phát triển

SỬ DỤNG PYTHON VỚI BÀI TẬP ỨNG DỤNG PHÉP TOÁN

Trang 2

MỤC LỤC

A PHẦN MỞ ĐẦU 3

1 Lý do chọn đề tài 3

2 Phạm vi đề tài 3

3 Mục đích nghiên cứu 3

4 Nhiệm vụ nghiên cứu 3

5 Đối tượng nghiên cứu 4

6 Phương pháp nghiên cứu 4

B PHẦN NỘI DUNG 5

Chương 1: Giới thiệu tổng quan về ngôn ngữ lập trình Python và Định thức 5

1.1 Ngôn ngữ lập trình Python 5

1.2 Giới thiệu cách nhập dữ liệu vào phần mềm Python 10

Chương 2: Lý thuyết Định thức trong Đại số tuyến tính 11

1.1 Định nghĩa: 11

1.2 Khai triển định thức theo hàng (cột) 13

1.3 Các tính chất của định thức 15

1.4 Cách tính định thức bằng phép biến đổi sơ cấp 16

Chương 3: Sử dụng Python với bài tập ứng dụng phép toán về tính Định thức trong kinh tế 17

1.1 Giới thiệu về thư viện Numpy trong Python: 17

1.2 NumPy được viết bằng ngôn ngữ gì? 18

2.1 Định thức của ma trận vuông cấp n khi ứng dụng vào NumPy 21

2.2 Các ví dụ minh họa cho việc xử lí dữ liệu với bài toán kinh tế bằng NumPy 22

C KẾT LUẬN 25

1 Quan điểm cá nhân về đề tài nghiên cứu 25

2 Tài liệu tham khảo 25

Trang 3

A PHẦN MỞ ĐẦU.

1 Lý do chọn đề tài

Trong thời đại 4.0 – xu hướng kết hợp giữa các hệ thống ảo và thực thể, vạn vật kết nối internet – đang thách thức ý niệm của chúng ta về vai trò thực sự của con người Cùng với đó là sự lớn dần của các con số kinh tế luôn là bài toán đau đầu thách thức các doanh nghiệp Nhưng trong thời đại số như hiện nay số lượng tìm kiếm về lập trình Python để xây dựng các phép toán về trong kinh tế ngày cànggia tăng với tốc độ chóng mặt trong nhiều năm đổ lại đây Các doanh nghiệp, công

ty vừa và nhỏ luôn luôn nóng ghế cho các vị trí nhân sự phục vụ mảng đề tài này

Vì vậy, chúng em chọn đề tài này để giữa phần môn Toán cao cấp để phân tích rõ hơn về mối liên hệ chặt chẽ của toán với công nghệ thông tin Từ đó giúp nhiều hơn các bạn sinh viên đang có trong mình hướng đi này hiểu hơn về quá trình học tập cần thiết đối với môn học này

2 Phạm vi đề tài

Trong khuôn khổ của tiểu luận khoa học, đề tài của nhóm em chỉ giới hạn trong việc nghiên cứu sử dụng Python vào bài tập ứng dụng về phép toán tính định thực trong kinh tế

3 Mục đích nghiên cứu

Trong phạm vi đề tài của nhóm em, chúng em muốn nghiên cứu, tìm tòi về cách sử dụng Python để giải quyết các bài toán Nhằm giúp học sinh, sinh viên, những người muốn học về Python với bài tập ứng dụng phép toán về tính định thứctrong kinh tế

+ Biết sử dụng Python cơ bản

+ Hiểu và vận dụng một số phép toán, hàm có sẵn trong ngôn ngữ lập trình.+ Giúp càng nhiều người tiếp cận dễ dàng hơn với Python và ứng dụng bài tập phép toán tính định thực trong kinh tế

- Cũng qua đề tài, nhóm chúng em muốn cùng các bạn sinh viên trao đổi, trau dồi

kĩ năng nhằm góp phần nâng cao trình độ và khả năng mở rộng kiến thức

Trang 4

4 Nhiệm vụ nghiên cứu.

Sinh viên hoàn thành nội dung đề tài, báo cáo thành chuyên đề nộp và thuyếttrình trong phần thi giữa kì phần môn Toán cao cấp để cùng các bạn trao đổi và bổ sung những thiếu sót của đề tài Giao lưu học hỏi, trao đổi kinh nghiệm với các bạntrong lớp

5 Đối tượng nghiên cứu

Nghiên cứu về cách sử dụng Python và ứng dụng vào bài tập về tính định thực trong kinh tế cho những người mới bắt đầu

6 Phương pháp nghiên cứu

Phương pháp phân tích, tổng hợp

Trang 5

- Tại sao Python được tạo ra?

Vào cuối những năm 1980, Guido Van Rossum làm việc trong Amoeba, phân phốimột nhóm hệ điều hành Ông muốn sử dụng một ngôn ngữ thông dịch như ABC (ABC có cú pháp rất dễ hiểu) để truy cập vào những cuộc gọi hệ thống Amoeba

Vì vậy, ông quyết định tạo ra một ngôn ngữ mở rộng Điều này đã dẫn đến một thiết kế của ngôn ngữ mới, chính là Python sau này

- Tại sao lại có tên là Python?

Ồ, Python không phải được đặt theo tên của con rắn thần Python trong thần thoại

Hy Lạp đâu Rossum là fan của một sê-ri chương trình hài cuối những năm 1970,

và cái tên “Python” được lấy từ tên một phần trong sê-ri đó “Monty Python’s

Flying Circus”

- Các phiên bản Python đã phát hành:

Python 1.0 (bản phát hành chuẩn đầu tiên)

Python 1.6 (Phiên bản 1.x cuối cùng) 01/1994 05/09/2000 Python 2.0 (Giới thiệu list comprehension)

Python 2.7 (Phiên bản 2.x cuối cùng)

16/10/2000 03/07/2010 Python 3.0 (Loại bỏ cấu trúc và mô-đun trùng lặp)

Python 3.8.5 (Bản mới nhất tính đến thời điểm cập nhật bài)

03/12/2008 20/07/2020

1.1.2 Giới thiệu các phép toán trong P

Trang 6

a) Các phép toán số học với số nguyên.

*Ví dụ 1:

Kết quả:

Trang 7

Python cho phép tính toán với các số nguyên có giá trị lớn

Trang 9

c Các phép toán quan hệ

Chú ý: Kết quả của các phép toán quan hện cho giá trị logic (True or False)

d Các phép toán logic

Chú ý: Một trong những ứng dụng của phép toán logic là để tạo ra các biểu thức phứctạp từ các quan hệ đơn giản

Trang 10

1.2 Giới thiệu cách nhập dữ liệu vào phần mềm Python

Trong Python để nhập liệu ta dùng hàm input() Giá trị nhập vào của hàm input() thường

là kiểu chuỗi, do đó ta cần chuyển kiểu nếu như muốn lưu trữ giá trị nhập vào không phải kiểu chuỗi

Bây giờ trong PyCharm ta tạo một tập tin tên là: HocNhapLieu.py với các lệnh sau:

Bạn chạy File HocNhapLieu.py, sau đó nhập một vài dữ liệu để kiểm tra:

Trường hợp 1: Bạn nhập giá trị là 113, ta có kết quả:

Bạn quan sát ta nhập 113,, nhưng kiểu dữ liệu vẫn là chuỗi str

Trường hợp 2: Bạn nhập giá trị là 9.5, ta có kết quả:

Trường hợp 3: Bạn nhập giá trị là Obama, ta có kết quả:

Trang 11

Trường hợp 4: Bạn nhập giá trị là True, ta có kết quả:

Bạn thấy đó, mọi trường hợp điều là kiểu chuỗi str (cho dù bạn nhập loại dữ liệu nào đi nữa)

Chương 2: Lý thuyết Định thức trong Đại số tuyến tính

- Định nghĩa: Nghịch thế là cặp (j , j ) thoản mãn h k j h > j k với h < k

(Trên một phép thế nào đó người ta xác định cặp số mà số đứng trước lại lớn hơn số đứng sau gọi là một nghịch thế.)

- Ví dụ: (1,3,5,2,4) có nghịch thế là: (3,2); (5,2); (5,4)

- Ký hiệu: N (j , j , , j ) = số nghịch thế.1 2 n

Trang 13

Dấu "+" trước 3 tích sau: Tích 3 phần tử nằm trên đường chéo chính, tích 3 phần tử

là 3 đỉnh của 1 tam giác có 1 cạnh song song với đường chéo chính (không có 2 phần tử nào cùng hàng, cùng cột)

Dấu "-" trước 3 tích sau: Tích 3 phần tử nằm trên đường chéo phụ, tích 3 phần tử

là 3 đỉnh của 1 tam giác có 1 cạnh song song với đường chéo phụ (không có 2 phần

1.2 Khai triển định thức theo hàng (cột)

a) Định thức con tương ứng với phần tử aij (ký hiệu: M ) ij

- Là định thức thu được bằng cách bỏ đi hàng i, cột j của A

1 4 7

Trang 14

A = 2 5 8 => M22 = 1 7 = -12

3 6 9 3 9

b) Phần bù đại số tương ứng với phần tử aij

Kí hiệu: A = (-1) det M ij i+j ij

Ví dụ: 1 4 7

A = 2 5 8 => A23 = - 1 4 = 6

3 6 9 3 6

c) Khai triển định thức theo hàng (cột)

- Khai triển định thức theo hàng i:

Trang 15

* Note: Định thức của ma trận tam giác bằng tích các phần tử trên đường chéo chính

1.3 Các tính chất của định thức.

Tính chất 1: Định thức của một ma trận vuông bằng định thức của ma trận chuyển

vị của nó

det (A) = det (A’)

Các tính chất của định thức đúng với dòng đều đúng với cột

3 5 = 13 -1 5 = 13

Tính chất 2: det (AB) = det (A) det(B)

Tính chất 3: Nếu đổi chỗ 2 hàng (2 cột) của định thức => định thức đổi dấu

* Hệ quả: -Nếu A là ma trận vuông cấp n thì det (kA) = k detAn

Ví dụ: A3x3; |A|=4 => det (2A) = 2 4 = 323

-Rút nhân tử chung của 1 hàng (1 cột) ra ngoài định thức

Trang 16

6 4 1 = 3 2 2 2 1

9 8 1 3 4 1

Tính chất 6: Cộng vào 1 hàng (1 cột) tổ hợp tuyến tính các hàng khác (cột khác)thì định thức không đổi

1.4 Cách tính định thức bằng phép biến đổi sơ cấp.

- Phép biến đổi sơ cấp:

Trang 17

x 1 1

Chương 3: Sử dụng Python với bài tập ứng dụng phép toán về tính Định thức trong kinh tế.

* Phương pháp xử lý Định thức trong Python bằng thư viện Numpy

1.1 Giới thiệu về thư viện Numpy trong Python:

1.1.1 Tại sao lại chọn NumPy để tính toán thay vì các thư viện toán học khác?

- Numpy (Numeric Python) là một thư viện toán học phổ biến cốt lõi và mạnh mẽ phục vụ cho khoa học máy tính của Python

Trang 18

- Thư viện này cho phép làm việc hiệu quả với ma trận và mảng, đặc biệt là dữ liệu

ma trận và mảng lớn và nhiều chiều, có kích thước lớn với các hàm đã được tối ưu với tốc độ xử lý nhanh hơn rất nhiều lần

- Numpy đặc biệt hữu ích khi thực hiện các hàm liên quan tới Đại Số Tuyến

1.2 NumPy được viết bằng ngôn ngữ gì?

NumPy là một thư viện Python được viết một phần bằng Python và hầu hết các phần được viết bằng C hoặc C++ Và nó cũng hỗ trợ các phần mở rộng bằng các ngôn ngữ khác, thường là C++ và Fortran

1.2.1 Cài đặt thư viện:

- Để cài đặt thư viện Numpy trong Python, chúng ta tiến hành:

+ Mở Command Prompt

+ Gõ dòng lệnh “pip install numpy”

Pip là viết tắt của từ Preferred Installer Program: Là một tiện ích dòng lệnh cho phép cài đặt, cài đặt lại hoặc gỡ các gói PyPI (thư viện) bằng các câu lệnh đơn giản

Trang 19

1.2.2 Sử dụng thư viện Numpy:

1.2.2.1 Khai báo thư viện:

- Để tiến hành sử dụng thư viện Numpy, từ màn hình lập trình Python, ta nhập dòng lệnh “import numpy as np”

import numpy as np

*Giải thích: Cấu trúc import:

import (name, globals=None, locals=None, fromlist=(), level= )0

-Trong đó:

+ Name: tên Module cần nhập (Module là cách mà chúng ta phân hóa chương trình

ra các nhánh nhỏ cho dễ quản lý và gọi lại khi cần thiết => Làm cho chương trình

có khả năng tái sử dụng, bảo trì cao)

+ Globals và locals: xác định cách để diễn giải tên

+ Fromlist: Tên của các đối tượng hoặc mô hình con _ nên được nhập từ module cung cấp theo tên

+ Level: Chỉ định sử dụng với import tuyệt đối hay tương đối

Đây là một câu lệnh khởi đầu, vì vậy nhóm chỉ giới thiệu sơ bộ với các bạn là khai báo như dòng trên, không nên đào sâu khái niệm.

1.2.2.2 Khởi tạo mảng:

a) Khởi tạo mảng một chiều

#Khở i tạo mả ng một chiề u với kiề u dữ liệu các phầ n tử là Integer

ảrr np.ảrrảy([ = 1 , 3 , 4 , 5 , 6 ], dtype = int )

#Khở i tạo mả ng một chiề u với kiề u dữ liệu mặc định

ảrr np.ảrrảy([ = 1 , 3 , 4 , 5 , 6 ])

Trang 20

OUTPUT:

[1 3 4 5 6]

b) Khởi tạo mảng hai chiều

ảrr1 np.ảrrảy([( = 4 , , 5 6 ), ( 1 , 2 , 3 )], dtype = int )

d) Khởi tạo với các hàm có sẵn

np.zeros((3,4), dtype = int): Tạo mảng hai chiều các phần tử 0 với kích

thước 3x4

Trang 21

np.ones((2,3,4), dtype = int): Tạo mảng 3 chiều các phần tử 1 với kích

thước 2x3x4

np.arange(1,7,2): Tạo mảng với các phần tử từ 1 - 6 với bước nhảy là 2 np.full((2,3),5): Tạo mảng 2 chiều các phần tử 5 với kích thước 2x3 np.eye(4, dtype=int): Tạo ma trận đơn vị với kích thước là 4x4.

np.random.random((2,3)): Tạo ma trận các phần tử ngẫu nhiên với kích

thước 2x3

1.2.2.3 Thao tác với mảng

dtype: Kiểu dữ liệu của phần tử trong mảng.

shape: Kích thước của mảng.

size: Số phần tử trong mảng.

ndim: Số chiều của mảng.

print ("Kích thửớc cu ả mả ng:", ảrr2.shảpe)

print ("Số? phầ n tử trong mả ng:", ảrr2.size)

print ("Số? chiề u cu ả mả ng:", ảrr2.ndim)

2.1 Định thức của ma trận vuông cấp n khi ứng dụng vào NumPy

- Khi bạn đã biết cách trình bày một ma trận, chúng ta đi vào tính định thức Định thức của MT vuông A, kí hiệu là det(A) _ Chú ý: Định thức là SỐ chứ không phải MA TRẬN

Trang 22

Numpy hỗ trợ chúng ta việc tính gần đúng, ta không phải tính 1 cách dài dòng dễ dẫn tới nhầm lẫn nữa:

*Ví dụ: Cho định thức cấp 3 như sau, hãy dùng NumPy để xử lí số liệu:

Trang 23

*Ví dụ 3: Cho bảng:

Báo cáo phân tích doanh thu theo danh mục sản phẩm của Apple trong 4 quý

đánh thuế 10% số doanh thu thu được thì doanh thu sau thuế của hãng sẽ là:

Column1 iPhone Mac iPad SmartWatch Dịch vụ

Quý 1 $50.57 $10.44 $7.65 $7.80 $19.80

Quý 2 $40.67 $7.38 $7.22 $8.08 $19.60

Quý 3 $40.67 $7.38 $7.22 $8.08 $19.60

Quý 4 $42.63 $11.51 $7.17 $9.65 $19.19

Trang 25

C K T LU N Ế Ậ

1 Quan điểm cá nhân về đề tài nghiên cứu

Định thức là một trong những công cụ rất quan trọng trong Đại số tuyến tính và có

nhiều ứng dụng trong toán học Phương pháp định thức cho phép tiếp cận những kiến thức toán học một cách gọn gàng sáng sủa, đồng thời sử dụng định thức còn làphương pháp giiar toán rất hiệu quả Nó có tác dụng tích cực trong việc phát triển

tư duy cho người học toán

Đồng thời mảng kiến thức này cũng đóng góp rất nhiều điều hữu ích cho mảng phân tích dữ liệu trong kinh tế, đặc biệt là những dữ liệu lớn Qua đây chúng ta thấy được mối liên hệ mật thiết như nào trong toán và công nghệ kết hợp hoàn hảo,

bổ trợ lẫn nhau, giúp ích rất nhiều đặc biệt là với sinh viên chuyên ngành Big Data của Học viện Chính sách và Phát triển (APD) thì mảng kiến thức này quả thực hữu

ích

Như vậy, qua bài viết này, mình cùng các bạn đã ôn tập lại các kiến thức cơ bản

nhất về định thức cũng như các hàm xử lý trong thư viện Numpy của Python Nhờ Numpy, các phép tính phức tạp với định thức đôi khi chỉ cần vài dòng lệnh là có thể hoàn thành Tất nhiên, những kiến thức đề cập ở trên chưa phải là đủ để các bạn có thể bước chân vào thế giới Machine Learning Những vấn đề nâng cao hơn của định thức và Numpy

2 Tài liệu tham khảo

Chương 1:

1.1.itplus-academy.edu.vn

Chương 2:

1.2 Giao trình TOÁN CAO CẤP cho các nhà kinh tế (Nhà xuất bản Đại học Kinh

tế quốc dân 2016) _trang113

Chương 3:

1.1 codelearn.io/sharing/tim-hieu-thu-vien-numpy-trong-python

và vn.got-it.ai

Trang 26

2.2 www.thegioididong.com

Ngày đăng: 22/05/2024, 16:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w