Hướng dẫn how do i run a matlab function in python? - làm cách nào để chạy một hàm matlab trong python?

Sử dụng API MATLAB® Engine cho Python® để gọi bất kỳ chức năng MATLAB nào trên đường dẫn MATLAB.

Nếu hàm MATLAB không có trên đường dẫn, bạn có thể gọi nó từ thư mục hiện tại. Ví dụ: để gọi hàm MATLAB

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
0 trong thư mục
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
1, loại:

import matlab.engine
eng = matlab.engine.start_matlab()
eng.cd(r'myFolder', nargout=0)
eng.myFnc()

Trả về đối số đầu ra từ chức năng MATLABMATLAB Function

Bạn có thể gọi trực tiếp bất kỳ chức năng MATLAB nào và trả lại kết quả cho Python. Ví dụ: để xác định xem một số là số nguyên tố, hãy sử dụng động cơ để gọi hàm

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
2.

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)

Trả về nhiều đối số đầu ra từ hàm MATLABMATLAB Function

Khi bạn gọi một chức năng với động cơ, theo mặc định, động cơ sẽ trả về một đối số đầu ra duy nhất. Nếu bạn biết rằng hàm có thể trả về nhiều đối số, hãy sử dụng đối số

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
3 để chỉ định số lượng đối số đầu ra.

Để xác định mẫu số chung lớn nhất của hai số, hãy sử dụng hàm

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
4. Đặt
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
3 để trả về ba đối số đầu ra từ
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
4.

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)

Trả về không có đối số đầu ra từ hàm MATLABMATLAB Function

Một số chức năng MATLAB trả về không có đối số đầu ra. Nếu hàm trả về không có đối số, đặt

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
3 thành 0.

Mở Trình duyệt trợ giúp MATLAB từ Python.

import matlab.engine
eng = matlab.engine.start_matlab()
eng.doc(nargout=0)

Hàm MATLAB

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
8 mở trình duyệt, nhưng không trả về các đối số đầu ra. Nếu bạn không chỉ định
import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
9, động cơ sẽ gây ra lỗi.

Dừng thực thi chức năng

Để dừng thực thi chức năng MATLAB, nhấn ctrl+c. Kiểm soát trở về Python.Ctrl+C. Control returns to Python.

Sử dụng tên chức năng cho các toán tử MATLABMATLAB Operators

Bạn có thể sử dụng toán tử MATLAB trong Python bằng cách gọi hàm tương đương. Để biết danh sách các toán tử và tên chức năng liên quan, hãy xem các toán tử MATLAB và các chức năng liên quan. Ví dụ: để thêm hai số, hãy sử dụng hàm

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
0 thay vì toán tử
import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
1.

import matlab.engine
eng = matlab.engine.start_matlab()
a = 2
b = 3
eng.plus(a,b) 

Xem thêm

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
2 |
import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
3 |
import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
3

Chủ đề liên quan

  • Gọi các chức năng MATLAB không đồng bộ từ Python
  • Gọi các tập lệnh và chức năng của người dùng từ Python
  • Sử dụng các mảng Matlab trong Python
  • Sắp xếp và vẽ dữ liệu MATLAB từ 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()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
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()
tf = eng.isprime(37)
print(tf)
9. 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()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
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()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
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()
tf = eng.isprime(37)
print(tf)
3.

Xem thêm

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
2 |
import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
3 |
import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
3

Chủ đề liên quan

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

Nội dung chính

Viết các chương trình Python® hoạt động với MATLAB®

Chức năng

mở rộng tất cả

Chức năng Python Functions

Chức năng MATLAB Functions

Chủ đề

Cài đặt

  • Yêu cầu hệ thống cho API MATLAB Engine cho Python những gì bạn cần viết và xây dựng các ứng dụng động cơ MATLAB cho Python.
    What you need to write and build MATLAB engine applications for Python.
  • Cài đặt API MATLAB Engine cho Python

    Để khởi động MATLAB Engine trong phiên Python, hãy cài đặt API động cơ dưới dạng gói Python.

    • Tập lệnh thiết lập Python để cài đặt API MATLAB Engine
    • Cài đặt API MATLAB Engine cho Python ở các vị trí Nondefault

Bắt đầu

  • Bắt đầu với API MATLAB Engine cho Python API động cơ MATLAB cho Python cung cấp gói Python có tên
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    1 cho phép bạn gọi các chức năng MATLAB từ Python.

    The MATLAB Engine API for Python provides a Python package named
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    1 that enables you to call MATLAB functions from Python.
  • Bắt đầu và dừng MATLAB Engine cho các tùy chọn Python để khởi động động cơ MATLAB cho Python.
    Options for starting the MATLAB Engine for Python.
  • Gọi các chức năng MATLAB từ Python Cách trả về một đối số đầu ra từ hàm MATLAB. Cách đọc nhiều đầu ra từ một hàm. Phải làm gì khi hàm MATLAB không trả về đối số đầu ra.
    How to return an output argument from a MATLAB function. How to read multiple outputs from a function. What to do when the MATLAB function does not return an output argument.
  • Nhận trợ giúp cho các chức năng MATLAB từ Python từ Python, bạn có thể truy cập tài liệu hỗ trợ cho tất cả các chức năng MATLAB.
    From Python, you can access supporting documentation for all MATLAB functions.

Trao đổi dữ liệu và lập bản đồ

  • Sử dụng các mảng MATLAB trong Python Ví dụ này cho thấy cách tạo một mảng MATLAB trong Python và chuyển nó dưới dạng đối số đầu vào cho hàm MATLAB
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    2.

    This example shows how to create a MATLAB array in Python and pass it as the input argument to the MATLAB
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    2 function.
  • Các mảng MATLAB dưới dạng các biến Python Mô -đun python
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    1 cung cấp các lớp mảng để biểu thị các mảng của các loại số MATLAB dưới dạng các biến python để có thể truyền các mảng MATLAB giữa Python và Matlab.

    The
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    1 Python module provides array classes to represent arrays of MATLAB numeric types as Python variables so that MATLAB arrays can be passed between Python and MATLAB.
  • Chuyển dữ liệu cho MATLAB từ Python Khi bạn truyền dữ liệu Python làm đối số đầu vào cho các hàm MATLAB, công cụ MATLAB cho Python chuyển đổi dữ liệu thành các loại dữ liệu MATLAB tương đương.
    When you pass Python data as input arguments to MATLAB functions, the MATLAB Engine for Python converts the data into equivalent MATLAB data types.
  • Xử lý dữ liệu được trả về từ MATLAB đến Python Khi các hàm MATLAB trả về các đối số đầu ra, API động cơ MATLAB cho Python chuyển đổi dữ liệu thành các loại dữ liệu Python tương đương.
    When MATLAB functions return output arguments, the MATLAB Engine API for Python converts the data into equivalent Python data types.
  • Sử dụng các đối tượng xử lý MATLAB trong Python Ví dụ này cho thấy cách tạo một đối tượng từ lớp xử lý MATLAB và gọi các phương thức của nó trong Python.
    This example shows how to create an object from a MATLAB handle class and call its methods in Python.
  • Các loại số mặc định trong MATLAB và Python MATLAB lưu trữ tất cả các giá trị số dưới dạng số điểm nổi độ chính xác kép theo mặc định.
    MATLAB stores all numeric values as double-precision floating point numbers by default.

Gọi các chức năng MATLAB

  • Gọi các tập lệnh và chức năng của người dùng từ Python 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.
    This example shows how to call a MATLAB script to compute the area of a triangle from Python.
  • Sắp xếp và âm mưu dữ liệu MATLAB từ Python Ví dụ này cho thấy cách sắp xếp dữ liệu về bệnh nhân vào danh sách người hút thuốc và người không hút thuốc trong Python và âm mưu đọc huyết áp cho bệnh nhân mắc MATLAB.
    This example shows how to sort data about patients into lists of smokers and nonsmokers in Python and plot blood pressure readings for the patients with MATLAB.
  • Gọi các chức năng MATLAB không đồng bộ từ Python Ví dụ này cho thấy cách gọi hàm MATLAB
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    2 không đồng bộ từ Python và lấy lại căn bậc hai sau.

    This example shows how to call the MATLAB
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    2 function asynchronously from Python and retrieve the square root later.
  • Chuyển hướng đầu ra tiêu chuẩn và lỗi đến Python Ví dụ này cho thấy cách chuyển hướng đầu ra tiêu chuẩn và lỗi tiêu chuẩn từ hàm MATLAB sang các đối tượng Python
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    5.

    This example shows how to redirect standard output and standard error from a MATLAB function to Python
    import matlab.engine
    eng = matlab.engine.start_matlab()
    eng.doc(nargout=0)
    
    5 objects.

Xử lý sự cố

Tôi có thể sử dụng chức năng MATLAB trong Python không?

Bạn có thể sử dụng toán tử MATLAB trong Python bằng cách gọi hàm tương đương. Để biết danh sách các toán tử và tên chức năng liên quan, hãy xem các toán tử MATLAB và các chức năng liên quan. Ví dụ: để thêm hai số, hãy sử dụng hàm cộng thay vì toán tử +.. For a list of operators and associated function names, see MATLAB Operators and Associated Functions. For example, to add two numbers, use the plus function instead of the + operator.

Tôi có thể chạy mã Matlab trong pycharm không?

Tôi đã chạy thành công mã MATLAB trên pycharm, hãy để main.py là tệp python chính của bạn bắt đầu dự án Python. Bạn cần đặt các tệp MATLAB được gọi vào cùng một thư mục './' của chính.you need to put the invoked matlab files in the same folder './' of the main.py that starts the program and inside the main.py you need to import the engine: import matlab.

Chúng ta có thể chuyển đổi mã MATLAB thành Python không?

Để chuyển đổi MATLAB thành Python, chúng tôi có hai tùy chọn, thực hiện thủ công hoặc nhận trợ giúp của một số công cụ.Để chuyển đổi MATLAB thành Python, một công cụ có tên SMOP (Matlab nhỏ và quãng tám thành trình biên dịch Python) được sử dụng.Công cụ này có khả năng hiểu mã MATLAB cơ bản và sau đó phân tích nó vào Python.either do it manually or take the help of some tool. To convert Matlab to python, a tool named SMOP (Small Matlab and Octave to Python Compiler) is used. This tool is capable of understanding basic Matlab code and then parsing it to python.

Làm cách nào để thêm Matlab vào Python?

Trên Windows, hãy mở dấu nhắc lệnh với tùy chọn chạy làm quản trị viên. Bạn phải chạy lệnh cài đặt Python từ thư mục MATLAB được chỉ định.Để biết hướng dẫn chi tiết, chọn một trong các liên kết nền tảng trong API Cài đặt API.Trình cài đặt cài đặt động cơ trong thư mục Python mặc định.open the command prompt with the Run as administrator option. You must run the Python install command from the specified MATLAB folder. For detailed instructions, choose one of the platform links in Install Engine API. The installer installs the engine in the default Python folder.