python call MATLAB function Use Named Arguments
4 次查看(过去 30 天)
显示 更早的评论
Hi,
How can I call a matlab function with python specifying the name of the arguments?
Es:
in MATLAB:
yw = wdenoise(signal,1,Wavelet='bior3.9',DenoisingMethod='UniversalThreshold', ThresholdRule='Soft', NoiseEstimate='LevelIndependent');
in Python
import matlab.engine
eng = matlab.engine.start_matlab()
signal = matlab.double(signal_noise.values)
yw = eng.wdenoise(signal, matlab.double(4) ) # work!!!
But but when I specify the name of the variable to pass I get an error
yw = eng.wdenoise(signal, matlab.double(4), {'Wavelet': 'sym2'} ) # ERROR !!!
File C:\Program Files\MATLAB\R2023a\toolbox\wavelet\wavelet\wdenoise.m, line 175, in wdenoise Expected at most one numeric input argument in addition to the input data.
I try different mode
yw = eng.wdenoise(signal, matlab.double(4), Wavelet='sym2' ) # ERROR !!!
yw = eng.wdenoise(signal, matlab.double(4), ['Wavelet','sym2'] ) # ERROR !!!
How can I pass specific named arguments?
0 个评论
采纳的回答
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Call MATLAB from Python 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!