我似乎已经把一切都安装好了。我可以在jupyter中运行disp('statement')。内核框显示的是Matlab。
但在Jupyter我还是得到了
import matlab.engine
错误:
The import statement 'import matlab.engine' cannot be found or cannot be imported. Imported names must end with '.*' or be fully qualified.
在MATLAB端,在我的conda环境中,我能够进入Python3.
我正在尝试用Python转换MATLAB代码。我不知道如何在Python中初始化空矩阵。
MATLAB代码:
demod4(1) = [];
我试过用Python
demod4[0] = array([])
但它带来了错误:
only length-1 arrays can be converted to Python scalars
我有一个python代码,其中我想使用Matlab函数操作一个列表,并将它作为一个新列表返回给python。
为了测试matlab.engine,我尝试了以下方法:
import matlab.engine
eng = matlab.engine.start_matlab()
eng.cd('~/Documents/someDirWithMatlabFunctions/')
a = testFnc(2)
testFnc.m看上去就像
function [list2] = testFnc(list)
for i = 1:numel(list)
list(i) = 3*li
我首先定义了dy/dt=y和dy/dt=t的函数:
function dy=d(y):
dy=y
end
function ddy=dd(t):
ddy=t
end
然后我分别使用了ode45:
[t,y]=ode45('d',[1 10],1)
[t,y]=ode45('dd',[1 10],1)
它返回以下错误:使用d太多输入参数的错误。
我的问题是:
我哪里出错了?
Matlab是如何知道y还是t是自变量的?当我定义第一个函数时,它可以被合理地解释为dt/dy=y,而不是dy/dt=y。
我在Matlab中编写代码已经有很多年了,最近很多人建议我使用Python作为未来的开发语言。出于兴趣,我开始学习它。我不想对这两者进行比较,目前我正处于Python的学习阶段。由于我有很多用Matlab编写的代码(更重要的是用Matlab交谈),我认为Matlab中的“几乎”所有命令都有一个等效的命令。我们使用
k = 1:n;
在Matlab中有很多东西。但是在Python中,我很难让这个简单的东西工作。我尝试使用arange,但从未真正意识到错误是什么:
>>> arange(1,]10[,1,])
File "<stdin>", line
我正在尝试使用Python运行Matlab代码。我试着按照这个上给出的说明去做。
当尝试通过Python导入Matlab时,它是使用pip install matlab安装的。
但是,导入matlab.engine会产生错误No module named 'matlab.engine'; 'matlab' is not a package。它也不能使用pip install engine安装。
如何让代码运行?我正在运行的Python代码如下:
import matlab.engine
eng = matlab.engine.start_matlab()
eng
我正在尝试将python转换为Matlab结构,如下所示:
pyClass = py.someClass.someSubClass();
data = x.someFunction();
data = struct(data);
这通常很好,但是,Matlab会抛出以下错误:
Error using py.dict/struct
Invalid field name "yyy/xxx"
我知道Matlab需要以下三个条件才能使字段名有效:
以字母开头,否则分配给该字段将出错。
只包含字母、数字和/或下划线字符,
否则分配给该字段将出错,
,并且不能超过namelen
这个错误在matlab中意味着什么?当我使用2个输入图像(图像为tif格式,浮点,32位,大小为(5165,11945,7))在命令窗口上运行函数时,matlab显示以下错误信息。
Undefined function or method (name of input image) for input arguments of type double。
有人说,这是因为不同的工作目录。但到目前为止,我在matlab (c:\User\user\Documents\MATLAB\)中只有一个工作目录。我所有的图片都在里面。我可以在matlab屏幕上的当前导向器图标的文件列表中看到它们。我真的很困
我需要用Python对MATLAB数据做一些阐述。数据以doubles数组的形式存储在Matlab中。当我检索它时,尽管声明double数据类型是在float数据类型中被float处理时转换成float数据类型的,但是我得到了以下错误:
TypeError:不可排序的类型: double() < float()
我想做的是
import matlab.engine
eng=matlab.engine.connect_matlab()
x = eng.workspace['MyData']
x = x[len(x)-1]
if x < 0.01:
我有一个python函数,我需要在MATLAB中调用它,它从scipy.signal导入函数。 但是,当我尝试在MATLAB中调用函数时,我得到了一个错误 Error using arpack><module> (line 45)
Python Error: ImportError: DLL load failed: The specified procedure could not be found.
Error in __init__><module> (line 22)
from .arpack import *
Error in __init_
我有一个包含4个字符变量的.mat工作区文件。这些变量包含各种文件夹的路径,我需要能够相对较快地往返于各个文件夹。通常,当只使用Matlab时,我可以按如下方式加载这个工作区(前提是.mat文件位于当前目录中)。
load paths.mat
目前,我正在试验用于Python的Matlab引擎API。Matlab建议使用以下公式将变量发送到桌面应用程序中的当前工作区:
import matlab.engine
eng = matlab.engine.start_matlab()
x = 4.0
eng.workspace['y'] = x
a = eng.eval('s
我需要安装MATLAB引擎,以便Python调用python函数。
我试着用帮助的步骤
我用的是MATLAB 2015a
我不能从CMD运行setup.py
在帮助说明中,他们要求我在这个dir上找到setup.py:
C:\Program Files\MATLAB\MATLAB Production Server\R2015a\matlabroot\extern\engines\python
but when I searched on matlab dir I found it on this dir :
C:\Program Files\MATLAB\MATLAB Product