Chuyển đổi matlab sang python trực tuyến
Show
Làm thế nào nó hoạt độngOMPC cho phép chạy m-file của MATLAB® bằng trình thông dịch Python. OMPC đọc các tệp m và dịch chúng thành mã tương thích với Python. Giống như trong ví dụ sau hàm [s,varargout] = mysize(x) @mfunction("s", "varargout") OMPC không phải là trình thông dịch, nó cho phép Python thực hiện công việc. Điều này có nghĩa là nếu Python nhanh hơn thì OMPC cũng sẽ nhanh hơn. OMPC dịch các tệp m bảo tồn cấu trúc của các chương trình gốc càng nhiều càng tốt. Mặc dù OMPC đi kèm với một thư viện mô phỏng các tính năng của MATLAB's® mảng số không có gì có thể ngăn bạn chạy mã đã dịch theo cách bạn muốn. Điều này có nghĩa là bạn có thể chạy mã do OMPC tạo ra trên IronPython, Jython, PyPy hoặc bất kỳ thứ gì khác nếu bạn viết lớp số của riêng mình
Nhà phát triển, người thử nghiệm và yêu cầu tính năngNếu bạn muốn hiểu thêm về cách thức hoạt động của OMPC hoặc bạn muốn đóng góp theo bất kỳ cách nào cho sự phát triển, hãy xem các trang tài liệu dành cho nhà phát triểnĐóng góp được hoan nghênh dưới mọi hình thức. Bất kỳ ai cũng có thể đóng góp bằng cách thử nghiệm. Sự phát triển được thúc đẩy bởi thử nghiệm và nhu cầu. Đối với thư viện chức năng hoặc hộp công cụ nếu bạn thích, dự án OMPC không sử dụng bất kỳ công cụ theo dõi lỗi tinh vi và có thể phức tạp nào. Lý do không sử dụng theo dõi lỗi phổ biến là sự phát triển dựa trên sự đóng góp của những người không phải là lập trình viên MATLAB® là thương hiệu đã đăng ký của The MathWorks, Inc Tập lệnh python để chuyển đổi tệp matlab hoặc dòng mã matlab sang python. Dự án này đang trong giai đoạn alpha. Việc triển khai này phụ thuộc rất nhiều vào dự án SMOP của Victor Leikehman. Việc triển khai hiện tại xoay quanh SMOP, với những điểm khác biệt sau
Việc triển khai này được thực hiện đơn giản, vì về cơ bản, nó sử dụng một tập lệnh phụ trợ khác với tập lệnh được sử dụng bởi SMOP, ở đây được gọi là python path/to/matlab2python.py file.m -o file.py0. Một số thay thế chức năng đã được thêm trực tiếp vào đó. Hỗ trợ bổ sung cho các lớp, nhập mô-đun và thay thế tinh chỉnh khác (hoặc hack. ) được thực hiện trong tệp python path/to/matlab2python.py file.m -o file.py1 Cài đặtMã được viết bằng python, bạn có thể truy cập nó như sau git clone https://github.com/ebranlard/matlab2python cd matlab2python # install dependencies python -m pip install --user -r requirements.txt # make the packages available from any directory python -m pip install -e . #Optional: run tests pytest #Optional: try it directly python matlab2python.py tests/files/fSpectrum.m -o fSpectrum.py Cách sử dụngkịch bản chínhTập lệnh chính ở thư mục gốc của kho lưu trữ có thể thực thi được và có một vài cờ dòng lệnh (một số được lấy trực tiếp từ SMOP). Để chuyển đổi tệp python path/to/matlab2python.py file.m -o file.py2 thành python path/to/matlab2python.py file.m -o file.py3, chỉ cần gõ python path/to/matlab2python.py file.m -o file.py trong đó python path/to/matlab2python.py file.m -o file.py4 là đường dẫn đến tập lệnh python path/to/matlab2python.py file.m -o file.py5 từ con trănGói python cũng có thể được sử dụng trực tiếp để thực hiện chuyển đổi tệp hoặc dòng mã ________số 8_______ Tôi có nên sử dụng cái này khôngNếu bạn cần một tập lệnh thực hiện các chuyển đổi rõ ràng từ matlab sang python, thì python path/to/matlab2python.py file.m -o file.py6 hy vọng sẽ phù hợp với bạn. Những chuyển đổi này là ví dụ
Như đã đề cập ở trên, SMOP thực hiện rất tốt việc tạo mã an toàn. Tuy nhiên, cả python path/to/matlab2python.py file.m -o file.py6 đều không tạo ra mã sẵn sàng sản xuất (có thể trong một số trường hợp). Hầu hết thời gian, người dùng sẽ phải xem qua mã và thực hiện các điều chỉnh và viết lại một số. Trên thực tế, python path/to/matlab2python.py file.m -o file.py6 có thể sẽ kém hơn một chút so với SMOP trong việc tạo mã hoạt động vượt trội. Nhưng cuối cùng, mã được tạo bởi python path/to/matlab2python.py file.m -o file.py6 sẽ yêu cầu ít cấu trúc lại hơn và giúp người dùng chuyển đổi. Như tác giả của SMOP đã đề cập, rất khó để không che giấu hương vị matlab khỏi mã được tạo và cũng rất khó để chuyển đổi hoàn toàn mã mà không giới thiệu các lớp được bao bọc sao cho matlabarray . Việc triển khai python path/to/matlab2python.py file.m -o file.py6 cố gắng thực hiện điều đó, với cái giá là kém an toàn hơn Tôi đã viết tập lệnh bao bọc này cho nhu cầu của riêng mình. Tôi đã sẵn sàng chuyển đổi một loạt các tập lệnh matlab theo cách thủ công, nhưng tôi nghĩ rằng tôi có thể có một tập lệnh để tự động hóa một số chuyển đổi và định dạng đơn giản. Tôi đã bắt đầu triển khai nhanh chóng và bẩn thỉu trước khi phát hiện ra Mọi đóng góp cho dự án này đều được hoan nghênh. Nếu bạn thấy dự án này hữu ích, bạn cũng có thể mua cho tôi một ly cà phê (tặng một số tiền nhỏ) bằng liên kết bên dưới Bạn có thể chạy tệp MATLAB bằng Python không?Có hai cách để gọi mã MATLAB từ Python. Đầu tiên là sử dụng API Công cụ MATLAB cho Python, yêu cầu cài đặt MATLAB . Thứ hai là sử dụng SDK trình biên dịch MATLAB để biên dịch gói Python không yêu cầu người dùng phải cài đặt MATLAB.
Trình chuyển đổi SMOP MATLAB sang Python là gì?SMOP là Trình biên dịch Matlab và Octave sang Python nhỏ . SMOP dịch matlab sang python. Mặc dù có những điểm tương đồng rõ ràng giữa matlab và numeric python, nhưng vẫn có đủ sự khác biệt để khiến việc dịch thủ công không khả thi trong cuộc sống thực. SMOP tạo ra con trăn có thể đọc được bằng con người, dường như cũng nhanh hơn quãng tám.
Làm cách nào để chạy mã MATLAB bằng Python mà không cần MATLAB?Tóm lại. bạn không thể . Bạn cần có bản cài đặt MATLAB được cấp phép, đang hoạt động, bản cài đặt này sẽ được gọi ở chế độ nền. Nếu không có bản cài đặt MATLAB hoạt động, được cấp phép, bạn không thể chạy mã MATLAB.
Làm cách nào để nhập MATLAB bằng Python?Khởi động Công cụ MATLAB cho Python . Khởi động Python® tại dấu nhắc của hệ điều hành nhập matlab. gói công cụ vào phiên Python của bạn Bắt đầu một quy trình MATLAB® mới bằng cách gọi start_matlab. Hàm start_matlab trả về một đối tượng Python eng cho phép bạn truyền dữ liệu và gọi các hàm do MATLAB thực thi |