Nội dung chính
Ví dụ này cho thấy cách gọi các phương thức từ mô -đun Python® sau. Mô -đun này được sử dụng bởi các ví dụ trong tài liệu. Ví dụ giải thích cách tạo mô -đun trong MATLAB®. Nếu bạn tạo
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end3 trong trình soạn thảo Python, hãy chắc chắn rằng mô -đun nằm trên đường dẫn tìm kiếm Python. Ví dụ này cũng giải thích cách nhận trợ giúp để gọi chức năng, nếu bạn không phải là người dùng Python có kinh nghiệm.
Thay đổi thư mục hiện tại của bạn thành một thư mục có thể ghi.
Mở một tập tin mới trong trình soạn thảo MATLAB.
Sao chép các lệnh này và lưu tệp dưới dạng
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
3.# mymod.py """Python module demonstrates passing MATLAB types to Python functions""" def search[words]: """Return list of words containing 'son'""" newlist = [w for w in words if 'son' in w] return newlist def theend[words]: """Append 'The End' to list of words""" words.append['The End'] return words
Từ dấu nhắc lệnh MATLAB, thêm thư mục hiện tại vào đường dẫn tìm kiếm Python.
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
Để tìm hiểu cách gọi hàm, hãy đọc chữ ký chức năng cho hàm
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
5 trong tệp nguồnif count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
3. Hàm có một đối số đầu vào,if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
7.Đọc chức năng trợ giúp trong tệp nguồn
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
3. Theo tài liệu trang web của Python, trợ giúp là trong một chuỗi theo nghĩa đen xảy ra như là câu lệnh đầu tiên trong một mô -đun, hàm, lớp hoặc định nghĩa phương thức. Sự giúp đỡ choif count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
5 là:"""Return list of words containing 'son'"""
Hàm trả về một danh sách.
Tạo một đối số đầu vào, một danh sách các tên, trong MATLAB.
N = py.list[{'Jones','Johnson','James'}]
N = Python list with no properties. ['Jones', 'Johnson', 'James']
Gọi hàm
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end
5. Loại"""Return list of words containing 'son'"""
1 ở phía trước tên mô -đun và tên chức năng.names = py.mymod.search[N]
names = Python list with no properties. ['Johnson']
Hàm trả về giá trị
"""Return list of words containing 'son'"""
2.Đầu vào ban đầu
"""Return list of words containing 'son'"""
3 không thay đổi.N = Python list with no properties. ['Jones', 'Johnson', 'James']
Tải lại mô-đun Python do người dùng xác định sửa đổiPython Module
Ví dụ này cho thấy cách tải lại mô-đun Python đã sửa đổi trong khi chạy trình thông dịch Python trong quá trình. Để thay thế, hãy xem tải lại thông dịch viên Python ngoài quá trình.
Khi bạn sử dụng quy trình làm việc này, MATLAB sẽ xóa tất cả các biến, tập lệnh và các lớp trong không gian làm việc. Để biết thêm thông tin, hãy xem hàm
"""Return list of words containing 'son'"""4
"""Return list of words containing 'son'"""5.
Cú pháp gọi Python để tải lại mô -đun phụ thuộc vào phiên bản Python của bạn. Để xác minh phiên bản Python của bạn, hãy sử dụng chức năng MATLAB
"""Return list of words containing 'son'"""6.
Tạo mô -đun PythonPython Module
Thay đổi thư mục hiện tại của bạn thành một thư mục có thể ghi. Mở một tập tin mới trong trình soạn thảo MATLAB.
Sao chép các câu lệnh này xác định hàm
"""Return list of words containing 'son'"""7 và lưu tệp là
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end3.
________số 8
Gọi
"""Return list of words containing 'son'"""7.
ans = Python str with no properties. version 1
Sửa đổi mô -đun
Sửa đổi chức năng, thay thế câu lệnh
N = py.list[{'Jones','Johnson','James'}]0 bằng cách sau:
Lưu các tập tin.
Dỡ mô -đun
MATLAB xóa tất cả các biến, tập lệnh và các lớp trong không gian làm việc.
Nhập mô -đun sửa đổi
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end0
Tải lại mô -đun trong Python phiên bản 2.7Python Version 2.7
Tải lại mô -đun trong phiên bản Python 3.xPython Versions 3.x
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end1
Chức năng gọi trong mô -đun cập nhật
Gọi chức năng
"""Return list of words containing 'son'"""7 đã cập nhật.
if count[py.sys.path,''] == 0 insert[py.sys.path,int32[0],'']; end2
Xem thêm
"""Return list of words containing 'son'"""
6 | """Return list of words containing 'son'"""
4 | """Return list of words containing 'son'"""
4
Chủ đề liên quan
- Định cấu hình hệ thống của bạn để sử dụng Python
- Tải lại thông dịch viên Python không quá trình
- Phần mềm dùng thử
- Phần mềm dùng thử
- Cập nhật sản phẩm
- Cập nhật sản phẩm
Tôi có một tập lệnh Python tùy chỉnh có tên là TestMat.py với hai chức năng:
# testmat.pytestmat.py
Nhập khẩu Numpynumpy
def createdearray [n]:createarray[n]:
P = numpy.ones [2];
in [p]
trả lại pP
def createdearray2 [n]:createarray2[n]:
P = 2;
in [p]
trả lại pP
def createdearray2 [n]:createarray3[]:
P = 2;
def createdearray3 []:
trả lại pP
def createdearray2 [n]:
P = 2;
2
def createdearray3 []:
P = 3,14;
2
in [numpy.sin [p]]
Tôi có thể gọi createdeArray2 từ matlab bằng cách sử dụng các lệnh này: testmat2 = py.importlib.import_module ['testMat2'];
>> testMat2.createArray2 [2]using numeric>ones [line 192]
ANS =Error: TypeError: 'float' object cannot be interpreted as an index
Int64in testmat2>createarray [line 24]
P = numpy.ones [2];
in [p]
trả lại p
def createdearray2 [n]:
P = 2;
def createdearray3 []:2 is a double in MATLAB. When it is passed to Python, it is automatically converted to a Python float [1]. That is what the error message is complaining about.
Xem thêm
Thể loại
Hunt Treasure Treasure
Tìm kho báu ở Trung tâm Matlab và khám phá cách cộng đồng có thể giúp bạn!
Bắt đầu săn bắn!
Một lỗi đã xảy ra
Không thể hoàn thành hành động vì những thay đổi được thực hiện cho trang. Tải lại trang để xem trạng thái cập nhật của nó.