【问题标题】:calling MATLAB function from Python, what is Python's equivalent of MATLAB 'matrix' datatype?从 Python 调用 MATLAB 函数,Python 等效于 MATLAB 'matrix' 数据类型是什么?
【发布时间】:2018-03-14 13:42:52
【问题描述】:

此问题与仅存在 MATLAB 运行时的情况有关 - 计算机没有完整的 MATLAB 许可证。

已编译一个 MATLAB 函数供 Python 使用,如 here 所述:

这些指令已成功用于从 Python 调用用户定义的 MATLAB 函数并获取参数为 intfloat 的返回值。但是,如果我调用用户定义的 MATLAB 函数 f(matrixParam),它的参数为 MATLAB 类型 matrix,那么无论我在 Python 中使用什么数据类型,我都会收到错误的类型错误。我尝试了以下 Python 类型:列表列表 ([[1,2],[3,4]])、Pandas.DataFrame 和 NumPy.matrix - 没有任何效果。在 MATLAB 中,matrix 类型的变量 a 可以这样定义:a = [1 2 3; 4 5 6; 7 8 10]

有人知道我将如何在 Python 中定义一个变量,该变量可以被 MATLAB 函数接受为 matrix 类型吗?

【问题讨论】:

  • 这似乎特定于您使用的功能。
  • 你能举一个 Python 的例子吗?它调用一个带有“矩阵”类型参数的 MATLAB 函数,它不会引发错误?

标签: python matlab


【解决方案1】:

答案竟然是:

import matlab

myMatrix = matlab.double([[1,2],[3,4]])

myMatrix 然后可以传递给 MATLAB 函数。如果 MATLAB 测试它的类型,它甚至会得到 True:ismatrix(myMatrix)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 2010-12-15
    相关资源
    最近更新 更多