python调用MATLAB出错matlab.engine.MatlabExecutionError无法调用MATLAB函数报错

python调用MATLAB出错matlab.engine.MatlabExecutionError无法调用MATLAB函数报错

说明(废话)

python调用MATLAB,调用m文件中的函数,刚开始都没有问题,没问题是没有传参数等,今天改成传参的形式,就报错,无法传成功,况且根本无法调起来,根本没有进入MATLAB函数中…
关键是,输出的异常,捕获的异常还是乱码,看不出是什么问题,真的很头疼。

解决方案

MATLAB异常乱码

对这个问题,一般是编码的问题,查看pycharm中的编码是utf-8,而MATLAB中是GBK编码。看到有人说将编码改成一致就可以,好吧,我将pycharm的编码改成GBK编码,好像并不能奏效啊~
最后想了一个办法,将错误代码复制到TXT中,再用Notepad++修改字符的编码为utf8这时,可以看到一部分的乱码变成了正常。虽然还有部分是乱码,也无所谓了啦!
顺着这几个中文,查到了问题的原因。。。
在这里插入图片描述

python矩阵转MATLAB矩阵

矩阵不能直接传入MATLAB中,需要使用
matlab_point=matlab.double(point)

matlab_point=matlab.double(point)

这句话可以将python矩阵转为MATLAB矩阵

matlab.engine.MatlabExecutionError

其实这个问题并不是语法的问题,而是找不到MATLAB函数的问题。
我很奇怪,最开始我不传参数时,调用很顺利。
今天我再调用时,已不能正确调用,不管传参和不传参,都无法正常运行,都提示错误。由此推定是工作环境的问题。
最后发现,是pycharm未设置工作目录的原因。
在这里插入图片描述
在这里插入图片描述
就是这个work directory的设置
设置这个工作目录,就可以正常运行了。

编辑:myhappyandy

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值