问题标签 [oct2py]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1077 浏览

python - 从 Python 运行 Octave 任务

我有一个用 Octave 编写的非常复杂的计算代码和一个接收用户输入的 python 脚本,需要根据用户输入运行 Octave 代码。如我所见,我有以下选择:

  1. 将 Octave 代码移植到 python。
  2. 使用外部库(即 oct2py),使您能够从 python 运行 Octave/Matlab 引擎。
  3. 在 python 进程和 octave 进程之间进行通信。一种这样的可能性是使用 python 代码中的 subprocess 并等待答案。

由于我非常不愿意将我的代码移植到 python 并且我不想依赖于 oct2py 等外部库的维护,我支持选项 3。但是,由于系统应该可以很好地扩展,我不想为每个请求生成一个新的 octave 进程,并且任务队列系统似乎更合理。是否有任何(推荐的)任务队列系统可以在 python 中将任务排入队列并在另一端进程中有一个 octave 工作者?

0 投票
1 回答
1265 浏览

python - pip 包在 conda 中不可用

我正在从需求文件创建一个 conda 环境,它在尝试查找 oct2py 时不断抛出错误。我用过

它没有返回结果,但是当我尝试时

我可以看到安装了正确版本的 oct2py。我想知道如何让 conda 找到 oct2py 包?还是我需要用 conda 重新安装它?如果我必须重新安装 oct2py,这会影响当前安装和当前使用吗?

0 投票
0 回答
99 浏览

python - Windows 10 上的 Oct2Py 挂起

我以前在 Windows 7 上使用 Oct2Py 版本 3.4.0 和 Octave 4.0.0,但现在我正在尝试在 Windows 10 上获取 Oct2Py。安装工作得很好,我可以导入 Oct2Py,但是当我尝试运行时

我的 python 控制台停止响应。

我在这个线程上看到: https ://github.com/blink1073/oct2py/issues/63 Windows 和 Oct2Py 存在问题,但我尝试回到旧版本的 Oct2PY 并且仍然无法正常工作。有谁知道是否有办法让 Oct2Py 在我的设置中运行?

0 投票
0 回答
346 浏览

python - oct2py 导入成功,对 oct2py 的任何调用都会导致 python 崩溃

我将 C:\Octave\Octave-4.0.1\bin 添加到我的 PATH 并且可以成功导入 oct2py,但随后对 oct2py 的调用会使 python 内核崩溃。内核在命令行 python、IPython 和 Spyder 中崩溃。

示例代码:

我已经尝试过默认的 Oct2Py 工厂并尝试使用可执行文件对其进行初始化,但似乎都不起作用。

内核爆炸的速度感觉像是某种链接错误,但我不确定。

这是我的 Python 和 Octave 版本:


更新:

我发现我可以将数据推送到 Octave 中(例如,oc.push('y',5) 创建一个 .mat 临时文件,其中变量 y 分配了 5 的值),但是提取数据(例如,oc.pull('y ')) 杀死蟒蛇。

0 投票
1 回答
1391 浏览

octave - Windows7 上的 Jupyter Octave 内核

按照https://github.com/Calysto/octave_kernel上的说明在Windows1 机器上安装 octave_kernel,一切正常。但是,当我从 Jupyter 中选择 Octave 作为我的内核时,会发生以下情况。

内核已经死机,自动重启失败。内核可能无法重新启动。如果您无法重新启动内核,您仍然可以保存笔记本,但在重新打开笔记本之前,运行代码将不再工作。

我也无法让 oct2py 工作。

octave_kernal 尝试的 Jupyter 控制台输出如下。

我看到权限错误并尝试以管理员身份运行 Jupyter 无济于事。

0 投票
1 回答
168 浏览

python - 在 python 中使用 octave 或 oct2py 时,峰值检测会给出不同的结果

我正在尝试将多个固定宽度的高斯拟合到一个宽峰。我能够做到这一点的唯一方法是使用peakfit.m。样本数据可以在这里下载。

在八度中,我使用的代码是:

这些非常接近我用来创建初始数据集的三个峰值。

这些是我使用 oct2py 时的结果

如果我在两种情况下都拟合一个峰,结果是相同的。

八度

Oct2py

差异可能来自哪里?

0 投票
1 回答
181 浏览

python-2.7 - 八度库 - 'MeanPeakHeight' 无效参数

我想在带有 Raspbian 的 Raspberry pi 3 上使用 Octave 库在 Python 中对 .wav 文件信号进行峰值检测,但 octave.findpeaks 函数存在问题。我遇到了这个错误:findpeaks:参数“MeanPeakHeight”与解析器的任何有效参数都不匹配 我已经安装了所有关于 Octave 的包,所以这就是我不明白的原因。这是我的程序的一部分:

0 投票
1 回答
3101 浏览

python - 使用 oct2py (python3) 从 octave 脚本执行中获取数据

我正在尝试使用模块执行一些Matlab脚本(不是函数定义) 。Python 3oct2py

这些脚本(大量)包含一个非常扩展的定义,用于读取特定的 ASCIII 文件(包含在同一目录中)。

我不知道如何使用 Matlab (octave) 脚本获取 Python 读取的数据。

这是我在做什么:

输出:

没有返回错误,但我不知道如何获取数据(在 Octave 会话中读取)。我找到的执行 .m 文件的示例使用oct2pywhere about 定义函数的文件,但这不是我的情况。

0 投票
2 回答
206 浏览

python - 更改 numpy 数组的 dtype data_type 字段

我有一个.mat文件,我使用它加载scipy

我得到一个 numpy 数组,我想使用它传递给 octave 函数oct2py,如下所示:

但我收到以下错误:

似乎是由于 array dtype,它看起来像:[('x', 'O'), ('y', 'O'), ('z', 'O')]

因此,我考虑将其更改为'S','U'或受支持的内容。

  1. 怎么做到呢?
  2. 我在otc2py 文档中找不到受支持的dtype 。有什么帮助吗?
  3. 有没有办法.mat用另一个(支持的)dtype 加载文件?我看了这里,但找不到任何有用的东西。

请注意,aMatFunction它的内部使用aMatStruct是这样的:x = aMatStruct.x.

0 投票
1 回答
4125 浏览

python - Anaconda/Spyder 中的 oct2py 无法识别八度音阶

Windows 7的

蟒蛇/蟒蛇版本3.4

八度版本 4.0.3

OCTAVE_EXECUTABLE = C:\Users\Heather\Octave-4.0.3\bin

大家好,

几天来,我一直在努力让 oct2py 使用 Spyder 在 Anaconda 中工作。我想知道是否有人能告诉我让它在 Windows 机器上的 Spyder 中工作的正确方法?基本设置可能或者我使用了错误的软件包?

到目前为止,我已经使用 Anaconda Cloud 安装了 oct2py 包:

conda install -c conda-forge oct2py=3.5.9

在 oct2py 的所有文档中,它提到需要下载 Octave 才能使 oct2py 工作。所以从这个页面pypi.python.org/pypi/oct2py,它提到从sourceforge获取Octave

https://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/

我从那里下载了 Octave 3.6.4,一位朋友帮助我在我的环境变量中获取 OCTAVE_EXECUTABLE 指向它。此时,我可以在命令行中输入“octave”,它会弹出一个 octave 实例,但 Spyder 永远不会识别出我安装了 octave。

尔格:

从 oct2py 导入八度

错误:无法导入名称八度

此时我意识到 sourceforge Octave 说它是一个补充包,所以我卸载了 Octave 3.6.4 并从http://www.gnu.org/software/octave/为 windows 安装了 Octave 4.0.3。现在,当我单击应用程序时,Octave 可以很好地打开,但命令行无法识别术语“octave”,我觉得这是退一步。我再次查看了我的环境变量,系统变量中存在 Octave 的新路径,我更新了 OCTAVE_EXECUTABLE 以指向新版本的 Octave(目录中没有空格)。但是即使在完全关闭并重新启动后,我的计算机也无法识别命令行中的“八度”,当我尝试运行 oct2py.Oct2Py() 时,Spyder 仍然看不到我有八度。

因此,在这一切之后,我想知道是否有人已经让 oct2py 在 Anaconda 中工作,但尤其是使用 Spyder?怎么会这样?我试图让我的 python 脚本打开并使用 .m 文件来执行一个函数并输出一个矩阵,该矩阵将在脚本中进一步用于计算。但是,如果我什至无法识别八度音阶,那么我不知道我将如何完成它。

代码示例:

如果我能让 python 识别 Octave 我可以通过导入行,我很有希望。

任何帮助将不胜感激。