Hướng dẫn matlab vs python for physics - matlab vs python cho vật lý

C, C ++, Fortran, Mathicala, Python, Matlab, IDL, và rõ ràng là Java (hoặc vì vậy tôi đã nghe) đều tốt để sử dụng. Nó chủ yếu đi theo sở thích trừ khi có một số điều kiện biên buộc bạn phải làm việc với một (Dự án kế thừa, Cố vấn nói như vậy, bạn chỉ biết rằng, không có tiền cho một bản sao hợp pháp, v.v.).

Python có lợi thế lớn là miễn phí không giống như Matlab, mặc dù bạn có thể sử dụng Octave có phần giống với Matlab. Nó cũng được sử dụng nhiều hơn ngay cả ngay cả vật lý bên ngoài, vì vậy bạn có một cơ sở người dùng lớn và các diễn đàn tích cực hơn, v.v. Nếu tôi phải chọn giữa hai người, tôi sẽ đi với Python. Tôi cũng thích Mathmatica và C, tùy thuộc vào công việc.

Bây giờ một ngày, khả năng viết mã, đã trở thành một kỹ năng thiết yếu cho các sinh viên từ ngành kỹ thuật. Hoặc bạn thích hay không, trong quá trình học đại học, bạn sẽ thực hiện các bài tập, giải các phương trình hoặc một phần của các vấn đề của dự án của bạn với một số loại mã hóa. Và, nếu bạn nghĩ đến việc đi học cao hơn và thực hiện một số nghiên cứu sâu rộng, thì các mã viết của Google là một kỹ năng phải biết cho bạn.

Bạn nên học cái nào - Matlab hay Python? Không có câu trả lời nhất định. MATLAB đã ở đó để tính toán khoa học trong một thời gian dài, khi sự phát triển của các gói điện toán khoa học cho Python, ví dụ: Scipy, Numpy đã không được cổ xưa. Vì vậy, Matlab đã trở thành một ngôn ngữ hoặc công cụ kế thừa cho cộng đồng khoa học. Nó đã trở thành một ngôn ngữ di sản vì số lượng lý do. Các kỹ sư và nhà khoa học luôn cần một ngôn ngữ lập trình thể hiện trực tiếp Matrix và Mảng Toán học, và sau đó MATLAB (Phòng thí nghiệm ma trận) ra đời. MATLAB là một ngôn ngữ định hướng toán học và ma trận đi kèm với các loại hộp công cụ chuyên dụng khác nhau (bạn phải trả tiền cho hộp công cụ) cho một số mục đích, ví dụ: Mô hình hóa dữ liệu kinh tế, phân tích hình ảnh hoặc lái một robot. Các hộp công cụ này được phát triển chuyên nghiệp, được thử nghiệm nghiêm ngặt và được ghi chép lại cho các ứng dụng khoa học và kỹ thuật. Và đó là lý do tại sao bạn phải trả giá cho nó. Mặt khác, trong Python, bạn thường phải dựa vào các gói tác giả của cộng đồng cho việc sử dụng khoa học và kỹ thuật.
It has become a legacy language for number of reasons. Engineers and Scientists always needed a programming language that expresses matrix and array mathematics directly, and then MATLAB (matrix laboratory) came into existence. MATLAB is a math and matrix oriented language comes with different types of specialized toolboxes (you have to pay for toolbox) for several purposes e.g. modelling economic data, image analysis or driving a robot. These toolboxes are professionally developed, rigorously tested and well documented for scientific and engineering applications. And that’s why you pay the price for it. On the other hand, in Python you often have to rely on community-authored packages for scientific and engineering usages.

Thao tác ma trận trong Python vs Matlab

MATLAB có một lượng lớn các chức năng. Một trong những sản phẩm tốt nhất của nó là ‘Simulink, chưa có sự thay thế nào. Bạn có thể nghĩ rằng một ngôn ngữ lập trình đồ họa khác có tên ‘Labview, thay thế cho nó, nhưng sau đó bạn phải trả một mức giá nặng cho nó. Và, trong Python để có được gói phát triển cộng đồng, chúng ta có thể phải chờ ít nhất một nửa thập kỷ.

Nó có tài liệu cực kỳ tốt để bắt đầu học hỏi, và một cộng đồng khoa học lớn đã trả lời các câu hỏi sẽ được hỏi hoặc sẽ được ai đó trả lời khi bạn đăng chúng ở Trung tâm Matlab. Có 365.000 người đóng góp, 120 câu hỏi được trả lời và 25.000 tập lệnh hoặc mã mẫu được tải xuống mỗi ngày.

Điều tốt nhất của MATLAB là sự sẵn có của các ứng dụng dựa trên GUI để thực hiện các nhiệm vụ chung giúp cuộc sống của người mới bắt đầu dễ dàng hơn. Bạn không biết cách phù hợp với một đường cong bằng lệnh fminesearch, bạn chỉ cần mở hộp công cụ lắp dữ liệu và với một vài lần nhấp chuột sẽ được thực hiện. Xử lý song song dễ dàng hơn nhiều trong MATLAB, nếu ai đó có quyền truy cập vào hộp công cụ tính toán song song. Nó có các hộp công cụ cho sinh học tính toán, tài chính tính toán, hệ thống kiểm soát, khoa học dữ liệu, xử lý hình ảnh và tầm nhìn máy tính, học máy, mô hình hóa vật lý và mô phỏng, robot, xử lý tín hiệu và truyền thông và IoT. Chỉ những nhược điểm mà tôi tìm thấy, bạn phải trả tiền cho nó và ở một mức độ nào đó, nó đòi hỏi một chút RAM trong thiết bị điện toán của bạn.

Mặt khác, việc gọi Python là một giải pháp thay thế cho MATLAB về mặt kỹ thuật không chính xác, thay vào đó là ngôn ngữ lập trình mục đích chung, điều đó có nghĩa là bạn có thể phát triển các ứng dụng đầy đủ hoặc các công cụ phần mềm khác trong Python. Có thể tạo các ứng dụng bằng bất kỳ thư viện GUI chính nào (ví dụ: QT), sử dụng OpenGL, lái cổng USB của bạn, v.v.

Python và các thư viện đồng hành của nó ngày càng trở nên tinh vi hơn theo nhiều ngày. Đối với các vấn đề quy mô lớn, Python có nhiều biểu cảm và dễ đọc hơn so với các kịch bản MATLAB. Các chương trình Python được cấu trúc thông qua thụt lề, tức là các khối mã được xác định bởi thụt lề của chúng giúp chương trình dễ theo dõi hơn.

Thụt vào trong Python

Là một ngôn ngữ lập trình miễn phí, đa nền tảng, đa năng và cấp cao, rất nhiều người hiện đang áp dụng Python. Các ides như pycharm, notebook ipython, máy tính xách tay Jupyter, một bản phân phối như Anaconda đã làm cho Python trở nên dễ sử dụng hơn cho các nhà nghiên cứu. Kết quả của sự phổ biến này, rất nhiều gói khoa học Python đã có sẵn với tài liệu sâu rộng để trực quan hóa dữ liệu, học máy, xử lý ngôn ngữ tự nhiên, phân tích dữ liệu phức tạp và nhiều hơn nữa. Ví dụ, Scikit-Learn bao gồm các phương pháp tiếp cận học tập máy bắt đầu với các tài liệu và hướng dẫn rất tốt.

Ở đây tôi đã thu thập danh sách một số thư viện và công cụ khoa học Python phổ biến:

SCIPY: Thư viện này được sử dụng bởi các nhà khoa học, nhà phân tích và kỹ sư thực hiện điện toán khoa học và điện toán kỹ thuật. Nó chứa các mô -đun để tối ưu hóa, đại số tuyến tính, tích hợp, nội suy, chức năng đặc biệt, FFT, xử lý tín hiệu và hình ảnh, bộ giải ODE và các nhiệm vụ khác phổ biến trong khoa học và kỹ thuật.: This library is used by scientists, analysts, and engineers doing scientific computing and technical computing. It contains modules for optimization, linear algebra, integration, interpolation, special functions, FFT, signal and image processing, ODE solvers and other tasks common in science and engineering.

Numpy: Đây là gói cơ bản cho điện toán khoa học với Python, thêm hỗ trợ cho các mảng và ma trận lớn, đa chiều, cùng với một thư viện lớn các chức năng toán học cấp cao để vận hành trên các mảng này.: It is the fundamental package for scientific computing with Python, adding support for large, multi-dimensional arrays and matrices, along with a large library of high-level mathematical functions to operate on these arrays.

Pandas: Pandas là một thư viện để thao tác và phân tích dữ liệu. Thư viện cung cấp cấu trúc dữ liệu và hoạt động để thao tác các bảng số và chuỗi thời gian.: Pandas is a library for data manipulation and analysis. The library provides data structures and operations for manipulating numerical tables and time series.

Sympy: Sympy là một thư viện để tính toán biểu tượng và bao gồm các tính năng từ số học tượng trưng cơ bản đến tính toán, đại số, toán học rời rạc và vật lý lượng tử. Nó cung cấp các khả năng đại số máy tính như một ứng dụng độc lập, như một thư viện cho các ứng dụng khác hoặc trực tiếp trên web.: SymPy is a library for symbolic computation and includes features ranging from basic symbolic arithmetic to calculus, algebra, discrete mathematics and quantum physics. It provides computer algebra capabilities either as a standalone application, as a library to other applications, or live on the web.

Matplotlib: Matplotlib là một thư viện âm mưu 2D Python tạo ra các số liệu chất lượng xuất bản trong nhiều định dạng cứng và môi trường tương tác trên các nền tảng. Matplotlib cho phép bạn tạo ra các sơ đồ, biểu đồ, phổ công suất, biểu đồ thanh, errorCharts, scatterplots, v.v.: Matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib allows you to generate plots, histograms, power spectra, bar charts, errorcharts, scatterplots, and more.

Scikit-Learn: Scikit-Learn là một thư viện học máy. Nó có các thuật toán phân loại, hồi quy và phân cụm khác nhau bao gồm các máy vectơ hỗ trợ, rừng ngẫu nhiên, tăng độ dốc, K-MEANS và DBSCAN, và được thiết kế để tương tác với các thư viện khoa học và khoa học Python Numpy và Scipy.: scikit-learn is a machine learning library. It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy.

SCIKIT-IMAGE: SCIKIT-IMAGE là một thư viện xử lý hình ảnh. Nó bao gồm các thuật toán để phân đoạn, biến đổi hình học, thao tác không gian màu, phân tích, lọc, hình thái, phát hiện tính năng, v.v.: scikit-image is a image processing library. It includes algorithms for segmentation, geometric transformations, color space manipulation, analysis, filtering, morphology, feature detection, and more.

VEUSZ: VEUSZ là một gói vẽ đồ thị và vẽ đồ thị được thiết kế để tạo ra các lô chất lượng xuất bản ở các định dạng vector phổ biến, bao gồm PDF, PostScript và SVG.: Veusz is a scientific plotting and graphing package designed to produce publication-quality plots in popular vector formats, including PDF, PostScript and SVG.

Astropy: Dự án Astropy là một tập hợp các gói được thiết kế để sử dụng trong thiên văn học. Gói Astropy cốt lõi chứa chức năng nhằm vào các nhà thiên văn học chuyên nghiệp và nhà vật lý thiên văn, nhưng có thể hữu ích cho bất kỳ ai phát triển phần mềm thiên văn học.: The Astropy Project is a collection of packages designed for use in astronomy. The core astropy package contains functionality aimed at professional astronomers and astrophysicists, but may be useful to anyone developing astronomy software.

Tâm thần: Tâm thần là một gói cho việc tạo ra các thí nghiệm cho khoa học thần kinh và tâm lý học thực nghiệm. Tâm thần được thiết kế để cho phép trình bày các kích thích và thu thập dữ liệu cho một loạt các thí nghiệm khoa học thần kinh, tâm lý học và tâm lý học.: PsychoPy is a package for the generation of experiments for neuroscience and experimental psychology. PsychoPy is designed to allow the presentation of stimuli and collection of data for a wide range of neuroscience, psychology and psychophysics experiments.

Biopython: Biopython là một tập hợp các công cụ Python phi thương mại cho sinh học tính toán và tin sinh học. Nó chứa các lớp để thể hiện trình tự sinh học và chú thích trình tự, và nó có thể đọc và ghi vào nhiều định dạng tệp. Biopython is a collection of non-commercial Python tools for computational biology and bioinformatics. It contains classes to represent biological sequences and sequence annotations, and it is able to read and write to a variety of file formats.

Có rất nhiều gói xung quanh đó, và điều tốt nhất là chúng miễn phí, tức là chi phí điện toán khoa học và số với Python bằng không.

Vì vậy, từ góc độ người mới bắt đầu, không có câu trả lời chắc chắn nào cho câu hỏi: Tôi nên sử dụng câu hỏi nào cho điện toán khoa học? Tôi muốn trả lời câu hỏi này theo một cách khác. Sử dụng Python có nghĩa là bạn có thể dễ dàng hợp tác hơn với những người không có quyền truy cập vào Matlab. Hoặc, có lẽ, bạn sẽ sử dụng MATLAB, bởi vì không có gói thay thế nào trong Python phục vụ tốt nhất như ở Matlab.

Vui lòng thích và theo dõi chúng tôi trên Facebook: https://www.facebook.com/gradbunker

References:

[1] https://www.mathworks.com/products/matlab/matlab-vs-python.html

[2] http://www.pyzo.org/python_vs_matlab.html

[3] https://bastibe.de /2013-01-20

[4] http://lorenabarba.com/blog/why-i-push-for-python/

Python có tốt cho các nhà vật lý không?

Cơ học lượng tử (Schrödinger) và nhiều loại khác được sử dụng để mô hình hóa các hiện tượng đơn giản hoặc phức tạp. Bằng cách sử dụng Python, chúng tôi sẽ chỉ cho bạn cách giải các phương trình này. - Nó mang lại cho bạn sự độc lập và tự lực trong việc phân tích bất kỳ loại dữ liệu thử nghiệm nào.It gives you independence and self-reliance in analyzing any kind of experimental data.

Các nhà vật lý có sử dụng matlab không?

Các nhà vật lý trên toàn thế giới dựa vào MATLAB® và SIMULINK® để thực hiện cả mô phỏng yêu cầu khám phá và tính toán.Môi trường điện toán định hướng ma trận làm cho MATLAB trở thành một lựa chọn tự nhiên để phát triển mã nhanh để tìm kiếm vật lý mới lạ và hợp tác với ngành công nghiệp.® and Simulink® to perform both exploratory and computationally demanding simulations. The matrix-oriented computing environment makes MATLAB a natural choice for rapid code development in search of novel physics and collaborating with the industry.

Ngôn ngữ lập trình nào là tốt nhất cho các nhà vật lý?

Python.Python (được đặt theo tên của Circus bay của Monty Python, không phải là con rắn Miến Điện) là ngôn ngữ lập trình cấp cao đang tìm thấy sự chấp nhận rộng rãi trong thiên văn học, vật lý, kỹ thuật và khoa học máy tính.. Python (named after Monty Python's Flying Circus, not the Burmese snake) is a high level programming language that is finding wide acceptance in astronomy, physics, engineering, and computer science.

Python có tốt hơn Matlab không?

Python là một ngôn ngữ cấp cao, nó thân thiện hơn với người dùng, dễ đọc hơn và di động hơn.MATLAB là một ngôn ngữ cấp thấp và không giỏi trong một số thuật toán như tin sinh học.MATLAB có chức năng của ma trận và Python có thể sử dụng Numpy và thư viện có thể đạt được kết quả tương tự.. MATLAB is a low-level language and not good at some algorithms such as bioinformatics. MATLAB has the function of the matrix, and Python can use NumPy, and the library can achieve similar results.