温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MATLAB中怎么调用Python代码

发布时间:2021-07-29 15:02:59 阅读:303 作者:Leah 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

MATLAB中怎么调用Python代码,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

function res = increase_piece(x)res = {};if isequal(x, sort(x))    res = [res, x];else    diff_x = diff(x);    node = [0find(diff_x < 0)];    for i = 2:length(node)        res = [res, x( node(i-1)+1 : node(i) )];    end    res = [res, x( node(i)+1 : end )];endend
import numpy as npdef increase_piece(x):    x = np.array(x)    idx = np.nonzero(np.diff(x) < 0)[0] + 1    return np.split(x, idx)

如果不是要用matlab来调用的话,这个也不必写成函数了,两行就能出结果。

这个返回的一个列表,列表的每个元素是Numpy数组。

把改Python文件命名为''increasing_piece.py''。

到matlab里来调用他,并把结果转化为matlab中的数据类型

function res = call_increasing_piece_py(x)res = cell(py.increasing_piece.increase_piece(x));for i = 1:length(res)    res{i} = double(res{i});end

由Python返回的List或者Tuple可以用matlab的cell函数转化为matlab中的细胞数组,再循环一下用double函数依次把其中的Numpy数组对象转化为matlab中的数组。

测试

先试一下matlab调用python写的那个函数:

MATLAB中怎么调用Python代码

再测试一下只用matlab写的那个函数:

MATLAB中怎么调用Python代码

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/MitchHong/blog/4503081

AI

开发者交流群×