您的位置:首页 > 编程语言 > MATLAB

python调用matlab引擎实现MDS

2017-08-07 16:42 1061 查看
Pyhton & matlab: MDS TEST

1 安装matlab.engine

2 创建.m文件

  a)创建mdsTest.m文件

  b)文件内容

functiona = mdsTest(distance)

a =mdscale(distance, 2, 'criterion','metricsstress');

  c)说明

必须以函数的形式,python代码才能得到返回值,其它为控制参数。

mdscale是求MDS的函数,输入distance为距离矩阵。

3 将.m文件放在matlab默认工作目录中。关于如何修改matlab默认目录,百度。

4 在python中调用mdsTest方法

  a)引用相关包

    import matlab.engine;

  b)关键python代码

1.         distance =  [[0,2,3],[2,0,1],[3,1,0]]

2.         distance =matlab.double(distance)

3.         eng =matlab.engine.start_matlab()

4.         ret =eng.mdsdistance(distance)

  c)说明

matlab.double()在python创建matlab数组(详情:http://www.cnblogs.com/McKean/p/6390370.html)。如果不做转换,可能会出现类型错误。

eng = matlab.engine.start_matlab()。打开matlab引擎。

ret返回值类型为matlab数组类型。

5 说明

Matlab官网原文原文在:http://cn.mathworks.com/help/matlab/matlab-engine-for-python.html

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: