matlab调用python
在matlab中使用python的一些数据类型总是报错,索性通过json字符串来进行数据传递。
软件版本:matlabR2019a;python3.10。小白,纯记录。
python中相关代码
# demo.py
import numpy as np
import json
# matlab调用python示例
def myadd(a_json, b_json):
# 1. 解析json字符串
a = json.loads(a_json)
b = json.loads(b_json)
# 2. 计算执行
a = np.array(a)
b = np.array(b)
c = a + b
# 3. 打包为json字符串
return json.dumps(c.tolist())
matlab中相关代码
clear;close all;clc;
% 重载Python模块
clear classes
tempmod = py.importlib.import_module('demo');
py.importlib.reload(tempmod);
a = [1,2;3,1];
b = [5,6;7,8];
c = myadd(a,b);
function c = myadd(a,b)
% 1.打包为json字符串
a_json = jsonencode(a);
b_json = jsonencode(b);
% 2.函数调用
c_json = py.demo.myadd(a_json,b_json);
% 3.解析json字符串
c = jsondecode(char(c_json));
end