Hướng dẫn is matlab based off python? - Matlab có dựa trên python không?
MATLAB® được biết đến rộng rãi như một môi trường chất lượng cao cho bất kỳ công việc nào liên quan đến mảng, ma trận hoặc đại số tuyến tính. Python mới hơn với lĩnh vực này nhưng ngày càng trở nên phổ biến cho các nhiệm vụ tương tự. Như bạn thấy trong bài viết này, Python có tất cả sức mạnh tính toán của Matlab cho các nhiệm vụ khoa học và giúp việc phát triển các ứng dụng mạnh mẽ và dễ dàng. Tuy nhiên, có một số khác biệt quan trọng khi so sánh Matlab vs Python mà bạn sẽ cần phải tìm hiểu về việc chuyển đổi hiệu quả. Show
Trong bài viết này, bạn sẽ học cách:
Matlab vs Python: So sánh các tính năng và triết lýPython là một ngôn ngữ lập trình cấp cao, cấp cao được thiết kế để dễ sử dụng bởi con người hoàn thành tất cả các loại nhiệm vụ. Python được tạo ra bởi Guido Van Rossum và lần đầu tiên phát hành vào đầu những năm 1990. Python là một ngôn ngữ trưởng thành được phát triển bởi hàng trăm cộng tác viên trên khắp thế giới. Python được sử dụng bởi các nhà phát triển làm việc trên các dự án nhỏ, cá nhân cho đến một số công ty Internet lớn nhất thế giới. Python không chỉ chạy Reddit và Dropbox, mà thuật toán Google ban đầu được viết bằng Python. Ngoài ra, khung Django dựa trên Python chạy Instagram và nhiều trang web khác. Về mặt khoa học và kỹ thuật, dữ liệu để tạo ra bức ảnh năm 2019 về một lỗ đen đã được xử lý trong Python và các công ty lớn như Netflix sử dụng Python trong công việc phân tích dữ liệu của họ. Ngoài ra còn có một sự khác biệt triết học quan trọng trong so sánh Matlab vs Python. MATLAB là phần mềm độc quyền, nguồn đóng. Đối với hầu hết mọi người, giấy phép sử dụng MATLAB khá tốn kém, điều đó có nghĩa là nếu bạn có mã trong MATLAB, thì chỉ những người có thể đủ khả năng giấy phép mới có thể chạy nó. Thêm vào đó, người dùng được tính phí cho mỗi hộp công cụ bổ sung mà họ muốn cài đặt để mở rộng chức năng cơ bản của MATLAB. Ngoài chi phí, ngôn ngữ MATLAB được phát triển độc quyền bởi MathWorks. Nếu MathWorks từng ra khỏi kinh doanh, thì Matlab sẽ không còn có thể được phát triển và cuối cùng có thể ngừng hoạt động.MATLAB is proprietary, closed-source software. For most people, a license to use MATLAB is quite expensive, which means that if you have code in MATLAB, then only people who can afford a license will be able to run it. Plus, users are charged for each additional toolbox they want to install to extend the basic functionality of MATLAB. Aside from the cost, the MATLAB language is developed exclusively by Mathworks. If Mathworks were ever to go out of business, then MATLAB would no longer be able to be developed and might eventually stop functioning. Mặt khác, Python là phần mềm miễn phí và nguồn mở. Bạn không chỉ có thể tải xuống Python miễn phí mà còn có thể tải xuống, xem và sửa đổi mã nguồn. Đây là một lợi thế lớn cho Python vì điều đó có nghĩa là bất kỳ ai cũng có thể chọn sự phát triển của ngôn ngữ nếu các nhà phát triển hiện tại không thể tiếp tục vì một số lý do.Python is free and open-source software. Not only can you download Python at no cost, but you can also download, look at, and modify the source code as well. This is a big advantage for Python because it means that anyone can pick up the development of the language if the current developers were unable to continue for some reason. Nếu bạn là một nhà nghiên cứu hoặc nhà khoa học, thì việc sử dụng phần mềm nguồn mở có một số lợi ích khá lớn. Paul Romer, người đoạt giải Nobel năm 2018 về kinh tế, là một người chuyển đổi gần đây thành Python. Theo ước tính của mình, đặc biệt chuyển sang phần mềm nguồn mở và Python nói riêng, đã mang lại sự toàn vẹn và trách nhiệm lớn hơn cho nghiên cứu của mình. Điều này là do tất cả các mã có thể được chia sẻ và chạy bởi bất kỳ người đọc quan tâm nào. Giáo sư Romer đã viết một bài viết xuất sắc, Jupyter, Mathicala và tương lai của bài nghiên cứu, về kinh nghiệm của ông với phần mềm nguồn mở. Hơn nữa, vì Python có sẵn miễn phí, đối tượng rộng hơn nhiều có thể sử dụng mã bạn phát triển. Như bạn sẽ thấy sau đó một chút trong bài viết, Python có một cộng đồng tuyệt vời có thể giúp bạn bắt đầu với ngôn ngữ và nâng cao kiến thức của bạn. Có hàng chục ngàn hướng dẫn, bài báo và sách tất cả về phát triển phần mềm Python. Dưới đây là một số ít để giúp bạn bắt đầu:
Thêm vào đó, với rất nhiều nhà phát triển trong cộng đồng, có hàng trăm ngàn gói miễn phí để hoàn thành nhiều nhiệm vụ mà bạn sẽ muốn làm với Python. Bạn sẽ tìm hiểu thêm về cách lấy các gói này sau này trong bài viết này. Giống như Matlab, Python là một ngôn ngữ được giải thích. Điều này có nghĩa là mã Python có thể được chuyển giữa tất cả các nền tảng hệ điều hành chính và kiến trúc CPU ngoài kia, chỉ có những thay đổi nhỏ cần thiết cho các nền tảng khác nhau. Có các bản phân phối của Python cho CPU và máy tính xách tay và máy vi điều khiển như máy tính để bàn và máy tính xách tay như Adafruit. Python cũng có thể nói chuyện với các bộ vi điều khiển khác như Arduino với giao diện lập trình đơn giản gần như giống hệt nhau bất kể hệ điều hành máy chủ.MATLAB, Python is an interpreted language. This means that Python code can be ported between all of the major operating system platforms and CPU architectures out there, with only small changes required for different platforms. There are distributions of Python for desktop and laptop CPUs and microcontrollers like Adafruit. Python can also talk to other microcontrollers like Arduino with a simple programming interface that is almost identical no matter the host operating system. Vì tất cả những lý do này, và nhiều hơn nữa, Python là một lựa chọn tuyệt vời để thay thế Matlab làm ngôn ngữ lập trình của bạn. Bây giờ, bạn đã thuyết phục để thử Python, hãy đọc tiếp để tìm hiểu làm thế nào để lấy nó trên máy tính của bạn và cách chuyển từ MATLAB! Thiết lập môi trường của bạn cho PythonTrong phần này, bạn sẽ học:
Nhận Python qua AnacondaPython có thể được tải xuống từ một số nguồn khác nhau, được gọi là phân phối. Chẳng hạn, Python mà bạn có thể tải xuống từ trang web Python chính thức là một bản phân phối. Một phân phối Python rất phổ biến khác, đặc biệt đối với các ứng dụng toán học, khoa học, kỹ thuật và khoa học dữ liệu, là phân phối Anaconda.distributions. For instance, the Python that you can download from the official Python website is one distribution. Another very popular Python distribution, particularly for math, science, engineering, and data science applications, is the Anaconda distribution. Có hai lý do chính khiến Anaconda rất phổ biến:
Đối với mục đích tạo ra một môi trường rất giống với MATLAB, bạn nên tải xuống và cài đặt Anaconda. Theo văn bản này, có hai phiên bản chính của Python có sẵn: Python 2 và Python 3. Bạn chắc chắn nên cài đặt phiên bản Anaconda cho Python 3, vì Python 2 sẽ không được hỗ trợ vào ngày 1 tháng 1 năm 2020. Python 3.7 là phần lớn nhất Phiên bản gần đây tại thời điểm viết bài này, nhưng Python 3.8 sẽ được phát hành một vài tháng sau khi bài viết này được xuất bản. 3,7 hoặc 3,8 sẽ hoạt động giống nhau cho bạn, vì vậy hãy chọn phiên bản gần đây nhất bạn có thể. Khi bạn đã tải xuống trình cài đặt Anaconda, bạn có thể làm theo các quy trình thiết lập mặc định tùy thuộc vào nền tảng của bạn. Bạn nên cài đặt Anaconda trong một thư mục không yêu cầu quyền quản trị viên sửa đổi, đây là cài đặt mặc định trong trình cài đặt. Với Anaconda được cài đặt, có một vài chương trình cụ thể mà bạn nên biết. Cách dễ nhất để khởi chạy các ứng dụng là sử dụng Navigator Anaconda. Trên Windows, bạn có thể tìm thấy điều này trong menu bắt đầu và trên macOS, bạn có thể tìm thấy nó trong LaunchPad. Tại đây, một ảnh chụp màn hình của Navigator Anaconda trên Windows: Trong ảnh chụp màn hình, bạn có thể thấy một số ứng dụng được cài đặt, bao gồm Jupyterlab, Jupyter Notebook và Spyder, mà bạn sẽ tìm hiểu thêm về sau này trong hướng dẫn này.JupyterLab, Jupyter Notebook, and Spyder, that you’ll learn more about later in this tutorial. Trên Windows, có một ứng dụng khác mà bạn nên biết. Đây được gọi là lời nhắc Anaconda và nó là một dấu nhắc lệnh được thiết lập cụ thể để hoạt động với 22 trên Windows. Nếu bạn muốn nhập các lệnh 22 vào thiết bị đầu cuối, thay vì sử dụng GUI điều hướng, thì bạn nên sử dụng lời nhắc Anaconda trên Windows.Anaconda Prompt, and it is a command prompt set up specifically to work with 22 on Windows. If you want to type 22 commands in a terminal, rather than using the Navigator GUI, then you should use Anaconda Prompt on Windows.Trên macOS, bạn có thể sử dụng bất kỳ ứng dụng đầu cuối nào như thiết bị đầu cuối mặc định.APP hoặc ITERM2 để truy cập 22 từ dòng lệnh. Trên Linux, bạn có thể sử dụng trình giả lập thiết bị đầu cuối mà bạn chọn và trình giả lập cụ thể được cài đặt sẽ phụ thuộc vào phân phối Linux của bạn.Python cũng bao gồm một cách khác để cài đặt các gói, được gọi là 25. Nếu bạn sử dụng Anaconda, bạn nên luôn thích cài đặt các gói bằng cách sử dụng 22 bất cứ khi nào có thể. Tuy nhiên, đôi khi, một gói chỉ có sẵn với 25 và đối với những trường hợp đó, bạn có thể đọc PIP là gì? Hướng dẫn cho Pythonistas mới.Nhận một môi trường phát triển tích hợpMột trong những lợi thế lớn của MATLAB là nó bao gồm một môi trường phát triển với phần mềm. Đây là cửa sổ mà bạn rất có thể đã từng làm việc. Có một giao diện điều khiển ở trung tâm nơi bạn có thể nhập các lệnh, một trình thám hiểm biến ở bên phải và một danh sách thư mục ở bên trái. Không giống như Matlab, bản thân Python không có môi trường phát triển mặc định. Tùy thuộc vào mỗi người dùng để tìm một người phù hợp với nhu cầu của họ. May mắn thay, Anaconda đi kèm với hai môi trường phát triển tích hợp khác nhau (IDE) tương tự như Matlab IDE để làm cho công tắc của bạn liền mạch. Chúng được gọi là Spyder và Jupyterlab. Trong hai phần tiếp theo, bạn sẽ thấy một phần giới thiệu chi tiết về Spyder và một tổng quan ngắn gọn về Jupyterlab. SpyderSpyder là một IDE cho Python được phát triển dành riêng cho công việc Python khoa học. Một trong những điều thực sự hay về Spyder là nó có một chế độ được thiết kế đặc biệt cho những người như bạn đang chuyển đổi từ Matlab sang Python. Bạn sẽ thấy rằng một chút sau đó. Đầu tiên, bạn nên mở Spyder. Nếu bạn làm theo các hướng dẫn trong phần trước, bạn có thể mở Spyder bằng cách sử dụng Navigator Anaconda. Chỉ cần tìm biểu tượng Spyder và nhấp vào nút khởi chạy. Bạn cũng có thể khởi chạy Spyder từ menu Bắt đầu nếu bạn sử dụng Windows hoặc từ Launchpad nếu bạn sử dụng MacOS. Thay đổi bố cục cửa sổ mặc định trong SpyderCửa sổ mặc định trong Spyder trông giống như hình ảnh bên dưới. Đây là cho phiên bản 3.3.4 của Spyder chạy trên Windows 10. Nó trông khá giống nhau trên MacOS hoặc Linux: Trước khi bạn tham quan giao diện người dùng, bạn có thể làm cho giao diện trông giống Matlab hơn một chút. Trong chế độ xem → menu bố cục cửa sổ Chọn Bố cục MATLAB. Điều đó sẽ tự động thay đổi cửa sổ để nó có cùng khu vực mà bạn đã sử dụng từ MATLAB, được chú thích trên hình dưới đây: Ở phía trên bên trái của cửa sổ là tệp explorer hoặc danh sách thư mục. Trong khung này, bạn có thể tìm thấy các tệp mà bạn muốn chỉnh sửa hoặc tạo các tệp và thư mục mới để làm việc.directory listing. In this pane, you can find files that you want to edit or create new files and folders to work with. Trong trung tâm hàng đầu là một trình soạn thảo tập tin. Trong trình soạn thảo này, bạn có thể làm việc trên các tập lệnh Python mà bạn muốn lưu để chạy lại sau này. Theo mặc định, trình soạn thảo mở một tệp có tên 28 nằm trong thư mục cấu hình Spyder. Tệp này có nghĩa là một nơi tạm thời để thử mọi thứ trước khi bạn lưu chúng trong một tệp ở một nơi khác trên máy tính của bạn.Ở trung tâm dưới cùng là bảng điều khiển. Giống như trong Matlab, bảng điều khiển là nơi bạn có thể chạy các lệnh để xem những gì họ làm hoặc khi bạn muốn gỡ lỗi một số mã. Các biến được tạo trong bảng điều khiển không được lưu nếu bạn đóng Spyder và mở nó lại. Bảng điều khiển đang chạy ipython về mặt kỹ thuật theo mặc định. Bất kỳ lệnh nào bạn nhập vào bảng điều khiển sẽ được đăng nhập vào tệp lịch sử ở khung dưới bên phải của cửa sổ. Hơn nữa, bất kỳ biến nào bạn tạo trong bảng điều khiển sẽ được hiển thị trong Trình thám hiểm biến ở khung trên cùng bên phải. Lưu ý rằng bạn có thể điều chỉnh kích thước của bất kỳ khung nào bằng cách đặt chuột của bạn trên dải phân cách giữa các tấm, nhấp và kéo cạnh đến kích thước mà bạn muốn. Bạn có thể đóng bất kỳ bảng nào bằng cách nhấp vào X vào đầu khung. Bạn cũng có thể phá vỡ bất kỳ khung nào ra khỏi cửa sổ chính bằng cách nhấp vào nút trông giống như hai cửa sổ ở đỉnh khung, ngay bên cạnh X đóng khung. Khi một khung bị vỡ ra khỏi cửa sổ chính, bạn có thể kéo nó xung quanh và sắp xếp lại nó theo cách bạn muốn. Nếu bạn muốn đặt khung trở lại trong cửa sổ chính, hãy kéo nó bằng chuột để nền màu xanh hoặc xám trong suốt xuất hiện và các tấm lân cận thay đổi kích thước, sau đó buông ra và khung sẽ được đặt vào vị trí. Khi bạn đã sắp xếp các tấm chính xác theo cách bạn muốn, bạn có thể yêu cầu Spyder lưu bố cục. Chuyển đến menu Xem và tìm bố cục cửa sổ một lần nữa. Sau đó nhấp vào Lưu bố cục hiện tại và đặt tên cho nó. Điều này cho phép bạn đặt lại về bố cục ưa thích của bạn bất cứ lúc nào nếu có điều gì đó bị thay đổi một cách tình cờ. Bạn cũng có thể đặt lại về một trong các cấu hình mặc định từ menu này. Chạy báo cáo trong bảng điều khiển trong SpyderTrong phần này, bạn sẽ viết một số lệnh Python đơn giản, nhưng đừng lo lắng nếu bạn không hiểu ý nghĩa của chúng. Bạn sẽ tìm hiểu thêm về cú pháp Python một chút sau đó trong bài viết này. Những gì bạn muốn làm ngay bây giờ là có ý nghĩa về cách giao diện Spyder tương tự và khác với giao diện MATLAB. Bạn sẽ làm việc rất nhiều với bảng điều khiển Spyder trong bài viết này, vì vậy bạn nên tìm hiểu về cách thức hoạt động của nó. Trong bảng điều khiển, bạn sẽ thấy một dòng bắt đầu bằng 29, cho dòng đầu vào 1. Spyder (thực sự, bảng điều khiển ipython) có tất cả các dòng đầu vào mà bạn gõ. Vì đây là đầu vào đầu tiên mà bạn gõ, nên số dòng là 1. Trong phần còn lại của bài viết này, bạn sẽ thấy các tham chiếu đến dòng đầu vào X, trong đó X là số trong dấu ngoặc vuông.Một trong những điều đầu tiên tôi thích làm với những người mới đến Python là cho họ thấy Zen of Python. Bài thơ ngắn này mang đến cho bạn cảm giác về những gì Python là tất cả và cách tiếp cận làm việc với Python. Để xem Zen của Python, hãy nhập 30 trên dòng đầu vào 1 và sau đó chạy mã bằng cách nhấn Enter. Bạn sẽ thấy một đầu ra như dưới đây:Enter. You’ll see an output like below:
>>>
Mã này có 30 trên dòng đầu vào 1. Đầu ra từ chạy 30 là in zen của Python lên bảng điều khiển. Chúng tôi sẽ trở lại với một số khổ thơ trong bài thơ này sau đó trong bài viết.Trong nhiều khối mã trong bài viết này, bạn sẽ thấy ba dấu hiệu lớn hơn ( 33) ở phía trên bên phải của khối mã. Nếu bạn nhấp vào đó, nó sẽ xóa dấu nhắc đầu vào và bất kỳ dòng đầu ra nào, để bạn có thể sao chép và dán mã ngay vào bảng điều khiển của bạn.Nhiều Pythonistas duy trì khiếu hài hước lành mạnh. Điều này được hiển thị ở nhiều nơi trên khắp ngôn ngữ, bao gồm cả Zen of Python. Đối với một cái khác, trong bảng điều khiển Spyder, nhập mã sau, theo sau là Enter để chạy nó:Enter to run it: >>>
Tuyên bố đó sẽ mở trình duyệt web của bạn cho webcomic có tên XKCD, cụ thể là Comic #353, nơi tác giả đã phát hiện ra rằng Python đã cho anh ta khả năng bay! Bây giờ bạn đã chạy thành công hai câu lệnh Python đầu tiên của mình! Xin chúc mừng Nếu bạn nhìn vào nhật ký lịch sử, bạn sẽ thấy hai lệnh đầu tiên bạn đã nhập vào bảng điều khiển ( 30 và 35). Hãy để xác định một số biến và thực hiện một số số học cơ bản ngay bây giờ. Trong bảng điều khiển, nhập các câu lệnh sau, nhấn enter sau mỗi cái:Enter after each one:>>>
Trong mã này, bạn đã xác định 3 biến: 36, 37 và 38. Bạn đã gán 36 Giá trị 10, 37 Giá trị 20 và 38 tổng của 36 và 37. Sau đó, bạn đã hiển thị giá trị của biến 38 bằng cách viết nó là thứ duy nhất trên dòng đầu vào. Đầu ra từ câu lệnh đó được hiển thị trên dòng 45 tiếp theo và số trên dòng 45 phù hợp với dòng 47 được liên kết.Có hai điều chính để bạn chú ý trong các lệnh này:
Sau khi bạn chạy ba lệnh này, trình thám hiểm biến của bạn sẽ trông giống như hình ảnh bên dưới: Trong hình ảnh này, bạn có thể thấy một bảng có bốn cột:
Chạy mã trong các tệp trong spyderĐiểm dừng cuối cùng trong chuyến tham quan ngắn gọn của chúng tôi về giao diện Spyder là khung trình chỉnh sửa tệp. Trong khung này, bạn có thể tạo và chỉnh sửa các tập lệnh Python và chạy chúng bằng cách sử dụng bảng điều khiển. Theo mặc định, Spyder tạo một tệp tạm thời có tên 28 nhằm mục đích lưu trữ tạm thời các lệnh khi bạn làm việc trước khi bạn di chuyển hoặc lưu chúng trong một tệp khác.Hãy cùng viết một số mã vào tệp 28 và xem cách chạy nó. Tệp bắt đầu bằng mã sau, mà bạn có thể để tại chỗ:
Trong mã này, bạn có thể thấy hai cấu trúc cú pháp Python:
Bây giờ bạn có thể bắt đầu thêm mã vào tệp này. Bắt đầu trên dòng 8 trong 28, nhập mã sau tương tự như những gì bạn đã nhập vào bảng điều khiển:
Sau đó, có ba cách để chạy mã:
Lần đầu tiên bạn chạy tệp, Spyder sẽ mở cửa sổ hộp thoại yêu cầu bạn xác nhận các tùy chọn bạn muốn sử dụng. Đối với thử nghiệm này, các tùy chọn mặc định là tốt và bạn có thể nhấp vào chạy ở dưới cùng của hộp thoại: Điều này sẽ tự động thực thi mã sau trong bảng điều khiển: >>>
Mã này sẽ chạy tệp mà bạn đang làm việc. Lưu ý rằng chạy tệp đã thêm ba biến vào Trình thám hiểm biến: 59, 60 và 61. Đây là ba biến mà bạn đã xác định trong tệp. Bạn cũng sẽ thấy 62 được thêm vào nhật ký lịch sử.Trong Spyder, bạn cũng có thể tạo các ô mã có thể được chạy riêng lẻ. Để tạo một ô mã, hãy thêm một dòng bắt đầu bằng 63 vào tệp mở trong trình chỉnh sửa:
Trong mã này, bạn đã tạo ô mã đầu tiên của mình trên dòng 11 với mã 63. Những gì sau đây là một nhận xét dòng và bị Python bỏ qua. Trên dòng 12, bạn đang gán 65 để có giá trị 42 và sau đó chỉ định dòng 13 66 là 65 lần hai. Dòng 15 bắt đầu một ô mã khác có thể được thực thi riêng biệt với đoạn đầu tiên.Để thực hiện các ô mã, nhấp vào di động di động hiện tại hoặc chạy ô hiện tại và đi đến các nút tiếp theo bên cạnh nút chạy chung trong thanh công cụ. Bạn cũng có thể sử dụng các phím tắt CTRL+ENTER để chạy ô hiện tại và để nó được chọn, hoặc Shift+Enter để chạy ô hiện tại và chọn ô tiếp theo.Ctrl+Enter to run the current cell and leave it selected, or Shift+Enter to run the current cell and select the next cell. Spyder cũng cung cấp các tính năng gỡ lỗi dễ sử dụng, giống như trong Matlab. Bạn có thể nhấp đúp vào bất kỳ số dòng nào trong trình soạn thảo để đặt điểm dừng trong mã của bạn. Bạn có thể chạy mã ở chế độ gỡ lỗi bằng hình tam giác phía bên phải màu xanh với hai đường thẳng đứng từ thanh công cụ hoặc phím tắt bàn phím Ctrl+F5. Điều này sẽ tạm dừng thực hiện tại bất kỳ điểm dừng nào bạn chỉ định và mở trình gỡ lỗi 68 trong bảng điều khiển là cách tăng cường IPYTHON để chạy trình gỡ lỗi Python 69. Bạn có thể đọc thêm trong Python gỡ lỗi với PDB.Ctrl+F5 keyboard
shortcut. This will pause execution at any breakpoints you specify and open the 68 debugger in the console which is an IPython-enhanced way to run the Python debugger 69. You can read more in Python Debugging With pdb.Tóm tắt trải nghiệm của bạn trong SpyderBây giờ bạn có các công cụ cơ bản để sử dụng Spyder để thay thế cho môi trường phát triển tích hợp MATLAB. Bạn biết cách chạy mã trong bảng điều khiển hoặc gõ mã vào một tệp và chạy tệp. Bạn cũng biết nơi để xem để xem các thư mục và tệp của mình, các biến mà bạn đã xác định và lịch sử của các lệnh bạn đã nhập. Khi bạn đã sẵn sàng để bắt đầu tổ chức mã thành các mô -đun và gói, bạn có thể kiểm tra các tài nguyên sau:
Spyder là một phần mềm thực sự lớn và bạn chỉ bị trầy xước bề mặt. Bạn có thể tìm hiểu thêm về Spyder bằng cách đọc tài liệu chính thức, hướng dẫn xử lý sự cố và Câu hỏi thường gặp và Wiki Spyder. JupyterlabJupyterlab là một IDE được phát triển bởi Project Jupyter. Bạn có thể đã nghe nói về Notebook Jupyter, đặc biệt nếu bạn là một nhà khoa học dữ liệu. Chà, Jupyterlab là lần lặp tiếp theo của Notebook Jupyter. Mặc dù tại thời điểm viết Jupyterlab này vẫn còn trong phiên bản beta, Project Jupyter hy vọng rằng Jupyterlab cuối cùng sẽ thay thế giao diện máy chủ Notebook hiện tại. Tuy nhiên, Jupyterlab hoàn toàn tương thích với các máy tính xách tay hiện có nên quá trình chuyển đổi phải khá liền mạch. Jupyterlab được cài đặt sẵn với Anaconda, vì vậy bạn có thể khởi chạy nó từ Navigator Anaconda. Tìm hộp Jupyterlab và nhấp vào khởi chạy. Điều này sẽ mở trình duyệt web của bạn đến địa chỉ 70.Cửa sổ Jupyterlab chính được hiển thị trong hình dưới đây: Có hai phần chính của giao diện:
Nếu bạn quan tâm đến việc tìm hiểu thêm về Jupyterlab, bạn có thể đọc thêm về sự phát triển tiếp theo của sổ ghi chép trong bài đăng trên blog thông báo bản phát hành beta hoặc trong tài liệu Jupyterlab. Bạn cũng có thể tìm hiểu về giao diện máy tính xách tay trong Jupyter Notebook: Giới thiệu và khóa học sử dụng Jupyter Notebooks. Một điều gọn gàng về tài liệu kiểu máy tính xách tay Jupyter là các ô mã bạn đã tạo trong Spyder rất giống với các ô mã trong sổ ghi chép Jupyter. Tìm hiểu về các thư viện toán học PythonBây giờ bạn đã có Python trên máy tính của bạn và bạn đã có một IDE nơi bạn cảm thấy như ở nhà. Vậy làm thế nào để bạn tìm hiểu về cách thực sự hoàn thành một nhiệm vụ trong Python? Với MATLAB, bạn có thể sử dụng công cụ tìm kiếm để tìm chủ đề mà bạn đang tìm kiếm chỉ bằng cách đưa 71 vào truy vấn của bạn. Với Python, bạn sẽ thường nhận được kết quả tìm kiếm tốt hơn nếu bạn có thể cụ thể hơn một chút trong truy vấn của mình hơn là chỉ bao gồm 72.Trong phần này, bạn sẽ thực hiện bước tiếp theo để thực sự cảm thấy thoải mái với Python bằng cách tìm hiểu về cách chức năng Python được chia thành một số thư viện. Bạn cũng sẽ tìm hiểu những gì mỗi thư viện làm để bạn có thể nhận được kết quả hàng đầu với các tìm kiếm của mình! Python đôi khi được gọi là ngôn ngữ bao gồm pin. Điều này có nghĩa là hầu hết các chức năng quan trọng bạn cần đã được bao gồm khi bạn cài đặt Python. Chẳng hạn, Python đã tích hợp các thư viện 73 và 74 bao gồm các hoạt động cơ bản.batteries-included language. This means that most of the important functions you need are already included when you
install Python. For instance, Python has built-in 73 and 74 libraries that include the basic operations.Tuy nhiên, đôi khi, bạn muốn làm một cái gì đó không có trong ngôn ngữ. Một trong những lợi thế lớn của Python là người khác có lẽ đã làm bất cứ điều gì bạn cần làm và xuất bản mã để hoàn thành nhiệm vụ đó. Có vài trăm ngàn gói có sẵn công khai và miễn phí mà bạn có thể dễ dàng cài đặt để thực hiện các nhiệm vụ khác nhau. Chúng bao gồm từ xử lý các tệp PDF đến xây dựng và lưu trữ một trang web tương tác đến làm việc với các chức năng khoa học và toán học được tối ưu hóa cao. Làm việc với các mảng hoặc ma trận, tối ưu hóa hoặc vẽ đồ thị đòi hỏi các thư viện bổ sung phải được cài đặt. May mắn thay, nếu bạn cài đặt Python với trình cài đặt Anaconda, các thư viện này sẽ được cài đặt sẵn và bạn không cần phải lo lắng. Ngay cả khi bạn không sử dụng Anaconda, chúng thường khá dễ cài đặt cho hầu hết các hệ điều hành. Tập hợp các thư viện quan trọng mà bạn sẽ cần chuyển từ MATLAB thường được gọi là SCIPY Stack. Ở cơ sở của ngăn xếp là các thư viện cung cấp các hoạt động mảng và ma trận cơ bản (NUMPY), tích hợp, tối ưu hóa, xử lý tín hiệu và các hàm đại số tuyến tính (SCIPY) và vẽ âm mưu (matplotlib). Các thư viện khác xây dựng dựa trên những điều này để cung cấp chức năng nâng cao hơn bao gồm gấu trúc, scikit-learn, sympy, v.v.SciPy stack. At the base of the stack are libraries that provide fundamental array and matrix operations (NumPy), integration, optimization, signal processing, and linear algebra functions (SciPy), and plotting (Matplotlib). Other libraries that build on these to provide more advanced functionality include Pandas, scikit-learn, SymPy, and more. Numpy (Python số)Numpy có lẽ là gói cơ bản nhất để điện toán khoa học trong Python. Nó cung cấp một giao diện hiệu quả cao để tạo và tương tác với các mảng đa chiều. Gần như mọi gói khác trong SCIPY Stack sử dụng hoặc tích hợp với Numpy theo một cách nào đó. Các mảng Numpy tương đương với cấu trúc dữ liệu mảng cơ bản trong MATLAB. Với các mảng Numpy, bạn có thể làm những việc như các sản phẩm bên trong và bên ngoài, chuyển vị và hoạt động theo yếu tố. Numpy cũng chứa một số phương pháp hữu ích để đọc các tệp dữ liệu văn bản và dữ liệu nhị phân, phù hợp với các hàm đa thức, nhiều hàm toán học (sin, cosine, gốc, v.v.) và tạo các số ngẫu nhiên. Các phần nhạy cảm với hiệu suất của Numpy đều được viết bằng ngôn ngữ C, vì vậy chúng rất nhanh. Numpy cũng có thể tận dụng các thư viện đại số tuyến tính được tối ưu hóa như Intel MKL MKL hoặc OpenBlas để tăng thêm hiệu suất. Scipy (Python khoa học)Gói SCIPY (khác biệt với SCIPY Stack) là một thư viện cung cấp một số lượng lớn các chức năng hữu ích cho các ứng dụng khoa học. Nếu bạn cần thực hiện công việc đòi hỏi tối ưu hóa, đại số tuyến tính hoặc đại số tuyến tính thưa thớt, biến đổi Fourier rời rạc, xử lý tín hiệu, hằng số vật lý, xử lý hình ảnh hoặc tích hợp số, thì SCIPY là thư viện cho bạn! Vì Scipy thực hiện rất nhiều tính năng khác nhau, nên nó gần giống như có quyền truy cập vào một loạt các hộp công cụ MATLAB trong một gói. Scipy phụ thuộc rất nhiều vào các mảng numpy để thực hiện công việc của mình. Giống như Numpy, nhiều thuật toán trong SCIPY được thực hiện trong C hoặc Fortran, vì vậy chúng cũng rất nhanh. Cũng giống như Numpy, SCIPY có thể tận dụng các thư viện đại số tuyến tính được tối ưu hóa để cải thiện hiệu suất hơn nữa. Matplotlib (Thư viện âm mưu giống MATLAB)Matplotlib là một thư viện để tạo ra các lô hai chiều chất lượng cao và tương tác. Matplotlib được thiết kế để cung cấp giao diện âm mưu tương tự như hàm 75 trong MATLAB, vì vậy mọi người chuyển đổi từ MATLAB nên thấy nó hơi quen thuộc. Mặc dù các chức năng cốt lõi trong matplotlib dành cho các sơ đồ dữ liệu 2 chiều, nhưng có các tiện ích mở rộng có sẵn cho phép vẽ theo ba chiều với gói mplot3D, vẽ dữ liệu địa lý với cartopy và nhiều thứ khác được liệt kê trong tài liệu matplotlib.Các thư viện Python quan trọng khácVới Numpy, Scipy và Matplotlib, bạn có thể chuyển rất nhiều mã MATLAB của mình sang Python. Nhưng có một vài thư viện có thể hữu ích để biết.
Sự khác biệt về cú pháp giữa MATLAB® và PythonTrong phần này, bạn sẽ học cách chuyển đổi mã MATLAB của mình thành mã Python. Bạn sẽ tìm hiểu về sự khác biệt cú pháp chính giữa Matlab và Python, xem tổng quan về các hoạt động mảng cơ bản và cách chúng khác nhau giữa Matlab và Python, và tìm hiểu về một số cách để thử chuyển đổi mã tự động của bạn. Sự khác biệt kỹ thuật lớn nhất giữa Matlab và Python là ở Matlab, mọi thứ được coi là một mảng, trong khi ở Python, mọi thứ đều là một đối tượng chung hơn. Chẳng hạn, trong MATLAB, các chuỗi là các mảng ký tự hoặc mảng chuỗi, trong khi ở Python, các chuỗi có loại đối tượng riêng được gọi là 76. Điều này có hậu quả sâu sắc cho cách bạn tiếp cận mã hóa trong mỗi ngôn ngữ, như bạn sẽ thấy bên dưới.Với cách đó, hãy để bắt đầu! Để giúp bạn, các phần dưới đây được tổ chức thành các nhóm dựa trên khả năng bạn sẽ chạy vào cú pháp đó. Bạn có thể sẽ thấy cú pháp nàyCác ví dụ trong phần này đại diện cho mã mà bạn rất có thể thấy trong tự nhiên. Những ví dụ này cũng chứng minh một số tính năng ngôn ngữ Python cơ bản hơn. Bạn nên đảm bảo rằng bạn có một nắm bắt tốt về những ví dụ này trước khi tiếp tục. Khoảng trắng ở đầu một dòng có ý nghĩa trong PythonKhi bạn viết mã trong MATLAB, các khối như các câu lệnh 77, các vòng lặp 78 và 79 và các định nghĩa chức năng được hoàn thành với từ khóa 80. Nó thường được coi là một thực tế tốt trong MATLAB để thụt mã trong các khối để mã được nhóm trực quan lại với nhau, nhưng nó không cần thiết về mặt cú pháp.Ví dụ: hai khối mã sau đây tương đương về mặt chức năng trong MATLAB:
Trong mã này, trước tiên bạn tạo 81 để lưu trữ giá trị 10 và sau đó kiểm tra xem giá trị của 81 có bằng 10. Nếu có, bạn đang hiển thị cụm từ 83 trên bảng điều khiển từ dòng 2. Nếu không, điều khoản 84 sẽ đá và hiển thị 85. Tất nhiên, nếu bạn chạy mã này, bạn sẽ thấy đầu ra 83 và sau đó 87.Bây giờ bạn nên sửa đổi mã của mình để có vẻ như mẫu dưới đây:
Trong mã này, bạn chỉ thay đổi dòng 3 và 5 bằng cách thêm một số không gian hoặc thụt vào phía trước của dòng. Mã sẽ thực hiện giống hệt với mã ví dụ trước, nhưng với thụt lề, việc biết mã nào sẽ dễ dàng hơn trong phần 77 của câu lệnh và mã nào trong phần 84 của câu lệnh.Trong Python, thụt vào khi bắt đầu một dòng được sử dụng để phân định phần bắt đầu và kết thúc của các định nghĩa của lớp và chức năng, các câu lệnh 77 và các vòng lặp 78 và 79. Không có từ khóa 80 trong Python. Điều này có nghĩa là thụt lề là rất quan trọng trong Python!Ngoài ra, trong Python, dòng định nghĩa của một câu lệnh 94, vòng lặp 78 hoặc 79, một hàm hoặc một lớp được kết thúc bởi một đại tràng. Trong Matlab, dấu hai chấm không được sử dụng để kết thúc dòng.Xem xét ví dụ về mã này:
Trên dòng đầu tiên, bạn đang xác định 81 và đặt giá trị của nó thành 10. Trên dòng 2, viết 98 kiểm tra giá trị của 81 so với 10. Lưu ý đại tràng ở cuối dòng.Tiếp theo, dòng 3 phải được thụt vào trong cú pháp Python. Trên dòng đó, bạn đang sử dụng 00 để hiển thị một số đầu ra cho bảng điều khiển, theo cách tương tự như 01 trong MATLAB. Bạn sẽ đọc thêm về 00 so với 01 trong phần sau.Trên dòng 4, bạn đang bắt đầu khối 84. Lưu ý rằng 05 trong từ khóa 84 được liên kết theo chiều dọc với 07 trong từ khóa 77 và dòng được kết thúc bởi một dấu hai chấm. Bởi vì 84 được dành so với 00 trên dòng 3 và vì nó được liên kết với từ khóa 77, Python biết rằng mã trong phần 77 của khối đã kết thúc và phần 84 đang bắt đầu. Dòng 5 được thụt vào một cấp, do đó, nó tạo thành khối mã được thực thi khi câu lệnh 84 được thỏa mãn.Cuối cùng, trên dòng 6, bạn đang in một tuyên bố từ bên ngoài khối ____ ____ 177/________ 184. Tuyên bố này sẽ được in bất kể giá trị của 81. Lưu ý rằng 18 trong 00 được liên kết theo chiều dọc với 07 trong 77 và 05 trong 84. Đây là cách Python biết rằng mã trong khối ________ 177/________ 184 đã kết thúc. Nếu bạn chạy mã ở trên, Python sẽ hiển thị 83 theo sau là 87.Bây giờ bạn nên sửa đổi mã ở trên để loại bỏ thụt lề và xem điều gì sẽ xảy ra. Nếu bạn cố gắng nhập mã mà không cần thụt vào bảng điều khiển Spyder/Ipython, bạn sẽ nhận được 28:>>> 0Trong mã này, trước tiên bạn đặt giá trị của 81 thành 10 và sau đó cố gắng viết câu lệnh 77 mà không cần thụt lề. Trên thực tế, bảng điều khiển Ipython thông minh và tự động chỉ ra dòng sau câu lệnh 77 cho bạn, vì vậy bạn sẽ phải xóa thụt vào để tạo ra lỗi này.Khi bạn thụt mã mã của mình, hướng dẫn kiểu Python chính thức có tên PEP 8 khuyên bạn nên sử dụng 4 ký tự không gian để thể hiện một cấp độ thụt. Hầu hết các trình chỉnh sửa văn bản được thiết lập để hoạt động với các tệp Python sẽ tự động chèn 4 khoảng trống nếu bạn nhấn phím tab trên bàn phím của mình. Bạn có thể chọn sử dụng ký tự tab cho mã của mình nếu bạn muốn, nhưng bạn không nên trộn các tab và khoảng trống hoặc bạn có thể sẽ kết thúc với 32 nếu thụt lề trở nên không phù hợp.Tab key on your keyboard. You can choose to use the tab character for your code if you want, but you shouldn’t mix tabs and spaces
or you’ll probably end up with a 32 if the indentation becomes mismatched.Các tuyên bố có điều kiện sử dụng In [3]: var_1 = 10
In [4]: var_2 = 20
In [5]: var_3 = var_1 + var_2
In [6]: var_3
Out[6]: 30
|