python中list转数组_将Python列表转换为MATLAB数组

我在使用函数求和的MATLAB算法中有一个函数.如doc中所述,该函数的输入必须是以下类型之一:

>向量

>矩阵

>多维阵列

我知道MATLAB网站上有functions和doc可以转换这些数据类型.问题是我没有修改算法的权限,只有我要发送到的算法.有没有办法在python中进行适当的更改,而不是在MATLAB中获取python数据来更改数据类型?

目前,我尝试将引擎中的MATLAB函数直接用于python.我不确定转换是否正常.

这是我的问题的MWE:

import matlab

import matlab.engine

myEngine = matlab.engine.start_matlab()

pythonData = ['1', '2', '3', '4', '5', '6', '7', '8', '9']

pythonData = myEngine.cellstr(pythonData)

print('after cellstr()', pythonData)

pythonData = myEngine.cell2mat(pythonData)

print('after cell2mat()', pythonData)

matlabSum = myEngine.sum(pythonData)

print('sum:', matlabSum)

这是我的terminal的输出.

您会注意到cellstr并没有做太多事情,这很奇怪.有人对如何正确进行转换有想法吗?另外,总和不是477.总和是45.我很确定这是因为它将其转换为ASCII,这将导致[49,50,51,…]给出477.

由于matlab自动将列表转换为单元格,因此我尝试更改每个整数值,然后将engine.cell2mat直接使用到列表中,但出现此错误:

TypeError: array of MATLAB int64 type cannot be returned on this platform

到目前为止,我仍在尝试将python转换为上述MATLAB数据格式之一.我运行Python 2.7.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值