从品牌网站建设到网络营销策划,从策略到执行的一站式服务
MATLAB中怎么调用Python代码,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、虚拟主机、营销软件、网站建设、乐清网站维护、网站推广。
function res = increase_piece(x)
res = {};
if isequal(x, sort(x))
res = [res, x];
else
diff_x = diff(x);
node = [0, find(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 )];
end
end
import numpy as np
def 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写的那个函数:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图