Hướng dẫn how do i call a matlab file in python? - làm cách nào để gọi tệp matlab trong python?

Nội dung chính

Ví dụ này cho thấy cách gọi tập lệnh MATLAB® để tính toán khu vực của một tam giác từ Python®.

Để gọi một tập lệnh hoặc hàm MATLAB, hãy đặt nó vào đường dẫn MATLAB của bạn. Đối với ví dụ này, hãy tạo tập lệnh MATLAB trong một tệp có tên

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
4 trong thư mục hiện tại của bạn.

b = 5;
h = 3;
a = 0.5*[b.* h]

Sau khi bạn lưu tệp, hãy bắt đầu Python và gọi tập lệnh.

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]

Chỉ định

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
5. Mặc dù tập lệnh in đầu ra, nhưng nó không trả về không có đối số đầu ra cho Python.

Chuyển đổi tập lệnh thành một hàm và gọi hàm từ động cơ. Để chỉnh sửa tệp, hãy mở trình chỉnh sửa MATLAB.

eng.edit['triarea',nargout=0]

Xóa ba tuyên bố. Sau đó thêm một khai báo chức năng và lưu tệp.

function a = triarea[b,h]
a = 0.5*[b.* h];

Gọi chức năng

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
6 mới từ động cơ.

ret = eng.triarea[1.0,5.0]
print[ret]

Hàm

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
6 chỉ trả về một đối số đầu ra, do đó không cần phải chỉ định
import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
8.

Xem thêm

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
9 |
eng.edit['triarea',nargout=0]
0 |
eng.edit['triarea',nargout=0]
0

Chủ đề liên quan

  • Gọi các chức năng MATLAB từ Python

Hi,

Đây không phải là vấn đề lớn. Mã Python trông giống như:

Nhập Matlab.Enginematlab.engine

Eng = matlab.engine.start_matlab []

eng.simple_script[nargout=0]

eng.quit[]

Tập lệnh MATLAB có lẽ là một dòng đã lưu Assimple_script.m: simple_script.m:

Đảm bảo rằng tập lệnh được lưu trong thư mục Matlab biết như một thư mục tìm kiếm.

Sau đó chạy tập lệnh Python của bạn và nhận câu trả lời:

Không cần thiết phải có chức năng trong tệp .M của mình, nhưng có thể. Xem thêm thông tin. here.

Màn hình MATLAB không hiển thị theo mặc định, vì vậy bạn sẽ rất vui nếu bạn làm theo điều này và thông tin được liên kết ...

Trân trọng

Stephan

Khởi động động cơ Matlab cho PythonMATLAB Engine for Python

  • Bắt đầu Python® tại dấu nhắc hệ điều hành.

  • Nhập gói

    eng.edit['triarea',nargout=0]
    
    1 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

    eng.edit['triarea',nargout=0]
    
    2. Hàm
    eng.edit['triarea',nargout=0]
    
    2 trả về một đối tượng Python
    eng.edit['triarea',nargout=0]
    
    4 cho phép bạn truyền dữ liệu và gọi các chức năng được thực hiện bởi MATLAB.

import matlab.engine
eng = matlab.engine.start_matlab[]

Khởi động động cơ với các tùy chọn khởi động

Khởi động động cơ và chuyển các tùy chọn dưới dạng chuỗi đối số đầu vào cho

eng.edit['triarea',nargout=0]
5. Ví dụ, bắt đầu MATLAB với máy tính để bàn.

eng = matlab.engine.start_matlab["-desktop"]

Bạn có thể xác định nhiều tùy chọn khởi động với một chuỗi. Ví dụ: khởi động máy tính để bàn và đặt định dạng hiển thị số thành

eng.edit['triarea',nargout=0]
6.

eng = matlab.engine.start_matlab["-desktop -r 'format short'"]

Bạn cũng có thể khởi động máy tính để bàn sau khi bạn khởi động động cơ.

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.desktop[nargout=0]

Bắt đầu phiên bản động cơ MATLAB cụ thểMATLAB Engine Version

Để bắt đầu một phiên bản cụ thể của động cơ MATLAB, hãy đặt biến môi trường

eng.edit['triarea',nargout=0]
7 thành vị trí của gói. Mã này giả định rằng bạn đã sử dụng thiết lập được hiển thị trong phần trước. Để đặt
eng.edit['triarea',nargout=0]
7 trên Windows để gọi MATLAB R2019B, hãy loại:

sys.path.append["c:\work\matlab19bPy36"]

Trên Linux® hoặc MacOS:macOS:

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
0

Để kiểm tra phiên bản nào của MATLAB đã được nhập, trong loại Python:

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
1

Python có thể sử dụng tên thư mục khác nhau để cài đặt. Ví dụ: Python có thể tạo một thư mục con

eng.edit['triarea',nargout=0]
9 trước khi cài đặt động cơ MATLAB. Xác minh thư mục trên hệ thống của bạn để sử dụng với lệnh
function a = triarea[b,h]
a = 0.5*[b.* h];
0.

Khởi động động cơ không đồng bộ

Khởi động động cơ không đồng bộ. Trong khi Matlab bắt đầu, bạn có thể nhập các lệnh tại dòng lệnh Python.

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
2

Tạo phiên bản MATLAB để bạn có thể thực hiện các tính toán trong MATLAB.

Chạy nhiều động cơ

Bắt đầu từng động cơ riêng biệt. Mỗi động cơ bắt đầu và giao tiếp với quy trình MATLAB của riêng mình.

import matlab.engine
eng = matlab.engine.start_matlab[]
eng.triarea[nargout=0]
3

Dừng động cơ

Gọi chức năng

function a = triarea[b,h]
a = 0.5*[b.* h];
1 hoặc
function a = triarea[b,h]
a = 0.5*[b.* h];
2.

Nếu bạn thoát Python bằng một động cơ vẫn đang chạy, thì Python sẽ tự động dừng động cơ và quy trình MATLAB của nó.

Xem thêm

eng.edit['triarea',nargout=0]
5

Chủ đề liên quan

  • Chỉ định các tùy chọn khởi động
  • Tùy chọn khởi động thường được sử dụng
  • Gọi các chức năng MATLAB từ Python

Làm cách nào để chạy tệp MATLAB trong Python?

Bắt đầu động cơ MATLAB cho Python..
Bắt đầu Python® tại dấu nhắc hệ điều hành ..
Nhập MATLAB. Gói độ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 cho phép bạn truyền dữ liệu và gọi các chức năng được thực hiện bởi MATLAB ..

Làm cách nào để lấy dữ liệu từ MATLAB đến Python?

Nếu bạn thu thập dữ liệu với MATLAB nhưng muốn làm việc với nó bằng Python [ví dụ: tạo biểu đồ đẹp với matplotlib], bạn có thể xuất tệp .mat và sau đó nhập nó vào Python bằng SCIPY.Hãy nhớ rằng trong việc lập chỉ mục Python bắt đầu từ 0, thay vì 1 [đó là cách MATLAB làm điều đó].export a . mat file and then import that into Python using SciPy. Remember that in Python indexing starts at 0, rather than 1 [which is how Matlab does it].

Làm cách nào để mở tệp .m trong Python?

Sử dụng mô -đun Scipy.io để đọc các tệp .mat trong Python.Mô -đun scipy.io có hàm LoadMat [], có thể mở và đọc các tệp MAT.Mã sau đây cho thấy cách sử dụng chức năng này. mat Files in Python. The scipy.io module has the loadmat[] function, which can open and read mat files. The following code shows how to use this function.

Làm thế nào để Matlab tích hợp với Python?

Để tích hợp gói Trình biên dịch MATLAB® SDK ™ Python®:..
Khi tham khảo ý kiến của Lập trình viên MATLAB, thu thập các chữ ký chức năng MATLAB bao gồm các dịch vụ trong ứng dụng ..
Cài đặt và nhập gói Python đã biên dịch.....
Viết mã Python để khởi tạo thời gian chạy MATLAB và tải mã MATLAB ..

Bài Viết Liên Quan

Chủ Đề