Hướng dẫn can matlab be replaced with python? - có thể thay thế matlab bằng python không?

Vấn đề MATLAB: tính di động

Nếu bạn là sinh viên tốt nghiệp về Khoa học và Kỹ thuật, có khả năng bạn đã sử dụng MATLAB. Nếu nó hoạt động tốt cho bạn, thì bằng mọi cách hãy tiếp tục sử dụng nó. Nó là một công cụ tuyệt vời, dễ sử dụng, với một thư viện công cụ khổng lồ cho hầu hết mọi thứ như xử lý tín hiệu và thuật toán tài chính. Vấn đề là khi bạn hoàn thành với MS/Tiến sĩ/Post-doc, bạn có thể phải bỏ lại kỹ năng MATLAB của mình.

MATLAB không di động vì nó yêu cầu cấp phép đắt tiền. Truy cập học tập thường không phải là vấn đề vì hầu hết các trường đại học trả tiền cho nó. Nhưng các công việc học thuật là khan hiếm, và nhiều nhà khoa học và kỹ sư sẽ cần phải chuyển sang ngành công nghiệp hoặc thậm chí ngoài lĩnh vực nghiên cứu của họ. Matlab hiếm hơn nhiều bên ngoài học viện, vì vậy rất có thể những sinh viên mới tốt nghiệp này đã giành được trực tiếp để áp dụng chuyên môn của họ vào công việc mới của họ.

Python có thể thay thế Matlab

Python là miễn phí và có sẵn trên mọi nền tảng và do đó có tính di động cao. Mặc dù Python không được dự định là một sự thay thế miễn phí cho MATLAB, nhưng nó thực sự rất phù hợp cho vai trò này. Nhiều người đã thực hiện thành công việc chuyển đổi từ Matlab sang Python. SCIPY Stack có hầu hết mọi thứ bạn có thể cần cho điện toán khoa học, chẳng hạn như Numpy cho tính toán số, Matplotlib để vẽ và Scikit-Learn để học máy. Python cũng là một trong những ngôn ngữ lập trình dễ dàng nhất để học với cú pháp đơn giản, dễ đọc của nó. Nó cực kỳ linh hoạt và mạnh mẽ, được sử dụng cho bất cứ điều gì từ trực quan hóa dữ liệu tương tác đến lưu trữ máy chủ web và phát triển phần mềm.

Python đang nhanh chóng trở thành một trong những kỹ năng hàng đầu trong một số ngành công nghiệp. Kỹ năng mã hóa Python có thể rất quan trọng khi săn việc vì nhiều sinh viên tốt nghiệp sẽ không ở lại học viện, hoặc thậm chí trong nghiên cứu, sau khi tốt nghiệp. Vậy tại sao không học nó trong quá trình học của bạn?

Làm thế nào tôi có thể bắt đầu?

Đầu tiên, đây là phần giới thiệu về chuyển đổi từ Matlab sang Python.

Tôi khuyên bạn nên cài đặt Anaconda, phân phối Python đi kèm với tất cả các gói khoa học cốt lõi. Cài đặt phiên bản Python 3.6 trừ khi bạn phụ thuộc vào mã Legacy Python 2.7.

Người nước ngoài MATLAB sẽ tìm kiếm một giao diện tương tự như trình soạn thảo Matlab, mà họ sẽ tìm thấy trong Spyder (đi kèm với Anaconda). Những người mới đến Python cũng nên sử dụng Spyder hoặc IDE khác.

Cuối cùng, tìm hiểu về môi trường Python khoa học và bắt đầu sử dụng Python trong nghiên cứu của bạn!

Sự kết luận

Tất cả đều không bị mất nếu bạn đang học Matlab ngay bây giờ. Hầu hết các kỹ năng MATLAB của bạn sẽ dễ dàng chuyển sang các ngôn ngữ kịch bản khác. Tôi chỉ đơn giản nghĩ rằng thời gian của bạn sẽ được dành tốt hơn khi học cách sử dụng Python cho dù bạn có kế hoạch ở lại học viện hay không (đặc biệt là nếu bạn đang tìm kiếm cơ hội ngoài nghiên cứu).

(Xin lỗi, không thể tìm thấy một diễn đàn tốt hơn cho việc này, vì vậy việc đăng ở đây)

Tôi đang tranh luận với một người bạn đang làm việc trong một chương trình giảng dạy điện toán khoa học và đang xem xét chuyển từ Matlab sang Python. Lời khuyên của tôi là chuyển sang Python tay xuống, vì Numpy và Scipy có thể làm khá nhiều điều mà Matlab có thể làm, theo hiểu biết tốt nhất của tôi.

Bạn tôi bị cám dỗ đồng ý, nhưng đã đưa ra những lo ngại sau:

  • Tôi chủ yếu là một người ML và số liệu thống kê, không phải là người mẫu và mô phỏng, vì vậy tôi có thể thiếu một số thứ mà Matlab thực sự làm tốt hơn Numpy và Scipy. Đó có phải là trường hợp không? (Có thể là phương trình vi phân hoặc phương pháp số nâng cao hơn? Kỹ thuật kiểm soát và phản hồi? Hoặc có thể chỉ là một giao diện đẹp hơn? Vv ...)

  • MATLAB là một gói "cấp công nghiệp" đắt tiền, nó có thể xử lý quy mô tốt hơn so với các dự án Python nguồn mở. Phản hồi của tôi là "Container, Container, Container, Container !!!!", nhưng tôi có thể sai?

  • Đối tượng mục tiêu của anh ấy là tôi và EE sinh viên, vì vậy ngay cả khi tôi nói đúng về hai điểm ở trên, các ngành công nghiệp họ sẽ tìm cách tham gia vẫn có thể tập trung với Matlab, và dù sao Python không phải là một ý tưởng tốt?

Có ba khía cạnh cần xem xét khi thay thế Matlab bằng Python; Các khả năng ngôn ngữ cốt lõi, IDE và giá cả.

So sánh khả năng

Phần này phác thảo tất cả các khả năng của mỗi nền tảng. Nói tóm lại, Matlab có thể làm, Python cũng có thể làm cộng với nhiều hơn nữa. Tuy nhiên, những thứ như đại số tuyến tính và MATLAB tạo mẫu nhanh chóng làm sạch hơn.

Matlab

Tất cả mọi thứ trong MATLAB đều sẵn sàng đi kèm và các hộp công cụ được tích hợp liền mạch. Nó cũng trưởng thành hơn nhiều - nhưng không được thiết kế cho lập trình mục đích chung có nghĩa là bất cứ điều gì không liên quan đến đại số tuyến tính là đau đớn để thực hiện.

  • Hộp công cụ: Các hộp công cụ MATLAB rất tốt và triển khai Python thường đấu tranh để cạnh tranh với chúng (ngay cả đối với những thứ không quá chuyên dụng như thuật toán tối ưu hóa). The Matlab toolboxes are very good and python implementations often struggle to compete with them (even for not so specialised things like optimisation algorithms).
  • Đại số tuyến tính: MATLAB có các khả năng đại số tuyến tính ngắn gọn dễ đọc và giải thích. Matlab has concise linear algebra capabilities which are easier to read and interpret.
  • Khả năng trực quan hóa: Có nhiều khả năng trực quan rất tốt và rất rộng. Has very good and very broad range of visualisation capabilities.

Python

Python sẽ yêu cầu một số mô -đun bổ sung để nó trở thành một MATLABREPREPLATION tốt.

  • Lập trình mục đích chung: Python là ngôn ngữ lập trình phù hợp cung cấp sự linh hoạt hơn rất nhiều so với MATLAB. Python is a proper programming language which offers a lot more flexibility over Matlab.
  • Numpy: Cung cấp các mảng và các thói quen đại số tuyến tính, tuy nhiên có cú pháp khó xử hơn MATLAB. Tôi đã yêu thích tính năng phát sóng tuy nhiên, không còn rác rưởi. Provides arrays and linear algebra routines, however has more awkward syntax than Matlab. I have fallen in love with the broadcasting feature however, no more repmat rubbish.
  • SCIPY: Số liệu thống kê, tối ưu hóa và các công cụ toán học hữu ích khác. Stats, optimization and other useful mathematical stuff.
  • Matplotlib: Theo tôi, cung cấp các lô chất lượng cao hơn Matlab. Hơn nữa, nó được thiết kế để có thể cú pháp tương tự như MATLAB, vì vậy nên dễ dàng nhận được. Provides, in my opinion, higher quality plots than Matlab. Furthermore it is designed to be syntactically similar to Matlab so should be easy to pick up.
  • Sympy: Gói lập trình biểu tượng tốt. Good symbolic programming package.

So sánh IDE

Đây là nơi mà Python thiếu theo quan điểm của tôi. Tôi chỉ đơn giản tìm thấy sự phát triển thuật toán (đặc biệt liên quan đến rất nhiều đại số tuyến tính) ít đau hơn trong Matlab IDE.

Matlab

Tất cả mọi thứ trong MATLAB đều sẵn sàng đi kèm và các hộp công cụ được tích hợp liền mạch. Nó cũng trưởng thành hơn nhiều - nhưng không được thiết kế cho lập trình mục đích chung có nghĩa là bất cứ điều gì không liên quan đến đại số tuyến tính là đau đớn để thực hiện.

  • Hộp công cụ: Các hộp công cụ MATLAB rất tốt và triển khai Python thường đấu tranh để cạnh tranh với chúng (ngay cả đối với những thứ không quá chuyên dụng như thuật toán tối ưu hóa). Can easily explore functions in a very non-restrictive manner. Python also allows for debugging but is often not as cleanly implemented in the IDEs.
  • Đại số tuyến tính: MATLAB có các khả năng đại số tuyến tính ngắn gọn dễ đọc và giải thích. MATLAB has a good variable explorer which always good for viewing of many supported data types. Some python IDEs struggle to display numpy arrays which can be annoying.
  • Khả năng trực quan hóa: Có nhiều khả năng trực quan rất tốt và rất rộng. If code breaks during runtime, the variables still persist which helps debugging. Furthermore it is easier to run different scripts in a row assuming persistent variables. In Python you will have to manually save variables in a script to have them available for other scripts.
  • Python sẽ yêu cầu một số mô -đun bổ sung để nó trở thành một MATLABREPREPLATION tốt. Very good for a breakdown of where your algorithms are bottlenecking.
  • Lập trình mục đích chung: Python là ngôn ngữ lập trình phù hợp cung cấp sự linh hoạt hơn rất nhiều so với MATLAB. Single line instructions can be executed on the command line. Python is full support for this also in all good IDEs.
  • Numpy: Cung cấp các mảng và các thói quen đại số tuyến tính, tuy nhiên có cú pháp khó xử hơn MATLAB. Tôi đã yêu thích tính năng phát sóng tuy nhiên, không còn rác rưởi. Results and variables can be quickly and painlessly plotted from the user interface. Most Python IDEs are geared towards software development and so don't support this (although sypder does have limited support through matplotlib).
  • Tài liệu: Tất cả các chức năng đều có tài liệu gốc trong IDE. All functions have native documentation within the IDE.

Python

Có một số IDE Python mới đang bắt đầu cạnh tranh với một số lợi thế chính của MATLAB. Cá nhân tôi thích Pycharm gần đây đã được phát hành dưới dạng phiên bản cộng đồng miễn phí. Nó có các khả năng sau đây và được thiết kế rất tốt từ góc độ UI.

  • Hi xuất phát
  • Trình khám phá biến
  • Dòng lệnh
  • Tài liệu

So sánh giá

Python là miễn phí và có một cộng đồng hỗ trợ tích cực.Matlab cũng có một cộng đồng hỗ trợ tốt, nhưng là bất cứ điều gì nhưng miễn phí.

Matlab hay Python có hữu ích hơn không?

Phần này có một câu trả lời dễ dàng: Python là người chiến thắng trước Matlab.Python có hàng tấn thư viện và gói cho cả mô hình học máy trường học cũ và trường học mới.Thêm vào đó, Python là ngôn ngữ được sử dụng rộng rãi nhất cho nghiên cứu máy học hiện đại trong ngành công nghiệp và học viện.Python is the winner over Matlab. Python has tons of libraries and packages for both old school and new school machine learning models. Plus, Python is the most widely used language for modern machine learning research in industry and academia.

Phần mềm nào có thể thay thế MATLAB?

Danh sách các lựa chọn thay thế MATLAB..
Gnu Octave.Nếu bạn đang tìm kiếm bất cứ điều gì gần hơn với MATLAB về khả năng tương thích và khả năng tính toán, thì Octave là phương án MATLAB tốt nhất.....
Scilab.Scilab là một nguồn mở tương tự như việc triển khai MATLAB.....
Cực đại.....
Toán học hiền triết.....
Anylogic.....
Kiến trúc sư doanh nghiệp.....
Julia..