Nội dung chính Show
Ví dụ này cho thấy cách sử dụng các biến Python® exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2673 trong MATLAB®. Gọi chức năng Python với các đối số đầu vào exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 267 3Để gọi hàm Python có đối số đầu vào exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2673, hãy chuyển chuỗi MATLAB hoặc vectơ ký tự. MATLAB tự động chuyển đổi các giá trị thành loại Python exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2673. Ví dụ: hàm Python exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2677 có thông tin về nội dung của thư mục, được chỉ định là loại exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2673. Tạo một vectơ ký tự đại diện cho một thư mục hợp lệ và gọi exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2677. Số lượng các thư mục ví dụ dựa trên sản phẩm đã cài đặt của bạn. folder = fullfile(matlabroot,'help','examples'); F = py.os.listdir(folder); exFolders = py.len(F) exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 267 Sử dụng loại Python exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 267 3 trong MATLABTrong MATLAB, một chuỗi Python là một biến p = Python str with no properties. ;1. Để sử dụng biến này trong MATLAB, hãy gọi p = Python str with no properties. ;2. Ví dụ, hàm Python p = Python str with no properties. ;3 trả về ký tự phân tách đường dẫn Python, một dấu chấm phẩy ( p = Python str with no properties. ;4). p = Python str with no properties. ; Để chèn ký tự này giữa các tên đường dẫn, loại: ['mypath' char(p) 'nextpath'] Đọc các phần tử trong chuỗi pythonBạn có thể lập chỉ mục vào một chuỗi python giống như cách bạn lập chỉ mục vào chuỗi MATLAB. Tạo một vectơ ký tự MATLAB và hiển thị một loạt các ký tự. str = 'myfile';
str(2:end) Chuyển đổi vectơ ký tự thành loại Python exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2673 và hiển thị cùng các ký tự. pstr = py.str(str); pstr(2:end) ans = Python str with no properties. yfile Vượt qua ký tự điều khiển Backslash MatlabĐể vượt qua ký tự điều khiển ngược ( p = Python str with no properties. ;6) dưới dạng loại Python exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2673, hãy chèn ký tự điều khiển dòng mới p = Python str with no properties. ;8 bằng cách gọi hàm MATLAB p = Python str with no properties. ;9. Python thay thế p = Python str with no properties. ;8 bằng một dòng mới. py.str(sprintf('The rain\nin Spain.')) ________số 8 Không có chức năng p = Python str with no properties. ;9, cả MATLAB và Python diễn giải p = Python str with no properties. ;6 như một dấu gạch chéo ngược. py.str('The rain\nin Spain.') exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2670 Chuyển chuỗi này sang phương thức chuỗi Python ['mypath' char(p) 'nextpath']3. Python coi vectơ ký tự MATLAB là một chuỗi thô và thêm ký tự p = Python str with no properties. ;6 để bảo tồn dấu gạch chéo ngược ban đầu.raw string and adds a p = Python str with no properties. ;6 character to preserve the original backslash. exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2671 exFolders = Python int with properties: denominator: [1×1 py.int] imag: [1×1 py.int] numerator: [1×1 py.int] real: [1×1 py.int] 2672 Xin chào, đây có thể là một cái gì đó thực sự đơn giản đối với một người đã làm điều này, nhưng tôi đang gặp khó khăn khi chuyển một biến chuỗi cho kịch bản MATLAB từ Python bằng API Matlab Python. Tôi đang làm điều này vào năm 2017b Đây là những gì tôi có: 1. Hàm MATLAB: config = parseInputs (tên tệp) %fileName là một mảng char trong matlab như "config.csv" 2. Tệp tập lệnh Python cố gắng gọi hàm MATLAB trên. Tôi đã lưu chức năng của mình parseinputs.m trong cùng thư mục với tập lệnh Python. Dưới đây là kịch bản Python của tôi: Nhập Matlab.Enginematlab.engine Eng = matlab.engine.start_matlab () fileName = "config.csv""config.csv" ParameterMy = eng.ParseInputs (tên tệp, nargout = 2) Tôi đang gặp một lỗi như dưới đây: Tệp "C: \ ProgramData \ Anaconda3 \ lib \ Site-Packages \ Matlab \ Engine \ fevalfuture.py", dòng 82, kết quả"C:\ProgramData\Anaconda3\lib\site-packages\matlab\engine\fevalfuture.py", line 82, in result self._result = pythonengine.getfevalresult (self._future, self._nargout, none, out = self._out, err = self._err)_result = pythonengine.getFEvalResult(self._future,self._nargout, None, out=self._out, err=self._err) MATLABEXECUSTERError: Hàm không xác định 'parseInputs' cho các đối số đầu vào của loại 'char'. Bất kỳ gợi ý về cách làm cho nó hoạt động? Cảm ơn! Nội dung chính Chuyển dữ liệu từ MATLAB đến PythonMATLAB to PythonKhi các hàm MATLAB® trả về các đối số đầu ra, MATLAB chuyển đổi dữ liệu thành các loại dữ liệu Python® tương đương.MATLAB converts the data into equivalent Python® data types.
Đối tượng giá trị MATLAB (chẳng hạn như loại py.str(sprintf('The rain\nin Spain.'))1)Python to MATLABĐối tượng mờ. Bạn có thể chuyển một đối tượng giá trị cho hàm MATLAB, nhưng bạn không thể tạo hoặc sửa đổi nó.MATLAB converts the data into equivalent MATLAB data types.
Đối tượng giá trị MATLAB (chẳng hạn như loại py.str(sprintf('The rain\nin Spain.'))1)
Làm cách nào để chuyển dữ liệu từ Python sang MATLAB?Dữ liệu Python có thể được chuyển đổi trở lại thành kiểu dữ liệu MATLAB thông qua chuyển đổi loại, ví dụ:Char (MyPyStr).Hàm này tự động hóa việc xác định kiểu dữ liệu Python và chuyển đổi nó thành kiểu dữ liệu MATLAB thích hợp và ngược lại.through type-conversion, e.g. char(myPyStr). This function automates the identification of the Python data type and convert it to the appropriate MATLAB data type and vice versa.
Python có thể tương tác với Matlab không?MATLAB cung cấp tích hợp hai chiều linh hoạt với nhiều ngôn ngữ lập trình, bao gồm cả Python.Điều này cho phép các nhóm khác nhau làm việc cùng nhau và sử dụng các thuật toán MATLAB trong các hệ thống phần mềm sản xuất và CNTT.. This allows different teams to work together and use MATLAB algorithms within production software and IT systems.
Làm thế nào để bạn gọi một chức năng MATLAB từ Python?Có hai cách tiếp cận để gọi mã MATLAB từ Python.Đầu tiên là sử dụng API MATLAB Engine 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 cài đặt MATLAB.use the MATLAB Engine API for Python, which requires a MATLAB install. The second is to use MATLAB Compiler SDK to compile a Python package that does not require users to have a MATLAB install. |