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