numpy 转存为matlab_Python(numpy)与Matlab之间的整数转换

我有一个python代码,我用numpy来做一些计算。

在我的代码中,我有一些整数变量'N'用作索引。在

然后我使用scipy.io.savemat在我的Matlab(2017a)代码中使用这个索引,在执行类似操作时会出现以下错误:% N is the int variable I have from my python code

>> N

N =

int64

1792

>> (1:2)/N

Error using /

Integers can only be combined with integers of the same class, or scalar doubles.

显然,Matlab的“原生整数”属于“double”类。我的意思是:

^{pr2}$

如果我在matlab代码中指定了'N',我就不会在执行上述代码时遇到问题。但我在python中指定变量,然后将它们转换成matlab。尝试使用双倍的在python代码中for'N'会导致numpy警告,例如:>>> N = numpy.double(100)

>>> numpy.zeros(N)

VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future

总而言之,我想在python代码中使用'N'作为整数,然后在matlab代码中用作double(或其他类似于原生matlab整数的函数)。

我原以为savemat会为我做这种转换,但可能因为其他一些好的原因,它没有

显而易见的解决方案是在序列化之前或之后将整数转换为double。但由于我有一个包含许多不同变量的大字典,这就需要跟踪每个变量的类型,这是我非常希望避免的。我在寻找一个简单的更“本土”的解决方案。在

你建议如何解决这件事?谢谢

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值