从Python中调用Matlab函数

Method for calling the MATLAB function from Python

import numpy as np
import scipy.io as sio
import toollib

import matlab.engine
eng = matlab.engine.start_matlab()
 

data_m = sio.loadmat('matlab1.mat')
min_angles = data_m['min_angles'].tolist()[0]
_,index_min  = eng.sort(matlab.double(min_angles),nargout=2)
index_min = np.array(index_min).flatten().astype(int).tolist()
index = np.argsort(min_angles)
_,index_m = toollib.argsort(np.array(min_angles))
np.array(min_angles)[(np.array(index_min)-1).tolist()]

在Python中:
repmat --> numpy.matlib.repmat
eig -> scipy.linalg.eigh
inv -> np.linalg.inv
norm(X-Y,‘fro’) -> np.linalg.norm(U-Y,‘fro’)
.* -> *

  • -> .dot 或 @
    reshape(X, shape_a) -> np.reshape(X, shape_a, ord=‘F’)

猜你喜欢

转载自blog.csdn.net/x5675602/article/details/104013633
今日推荐