octave - 为 Octave 安装 Rainflow 算法
问题描述
我想问你一个关于从这个站点安装 Rainflow 包的问题:https ://github.com/AmritaLonkar/rainflow-octave
我应该是这个https://de.mathworks.com/matlabcentral/fileexchange/3026-rainflow-counting-algorithm为 Octave 修改的 Matlab 包,但它不起作用。安装写在这里,但我不能这样做。我不是程序员,所以我想请你帮忙和详细的安装过程。
GNU Octave 的编译和安装
- 执行以下操作以从“rainflow.c”创建一个已编译的 mex 文件并测试结果:
$ cd ./rainflow-octave$ make$ ls ./src/rainflow.mexrainflow.mex$ make test
- 将文件:rainflow.mex、rainflow.m 和 sig2ext.m 移动到 GNU Octave 可以找到它们的地方。如果 oct- 或 mex- 文件位于搜索路径中列出的目录中,Octave 将自动定位它们。要找出搜索路径,请执行以下操作:
$ octaveoctave> path
Octave 的搜索路径包含以下目录: . /usr/local/share/octave/site-m 如果需要,请随时提出更多问题。
最好的问候米哈尔
我的系统
- 操作系统:例如 **Windows 10
- 八度版本:例如版本 6.1.0
- 安装方法:例如从https://github.com/AmritaLonkar/rainflow-octave下载
解决方案
我能够在我的 Windows 10 系统上使用 Octave 6.2.0 构建和运行rainflow 包。
Octave 能够在内部执行一些编译以构建包。我不知道如何使用构建后的雨流工具,但以下过程可以创建它:
- 下载rainflow源树并将其解压缩到它自己的文件夹中。这通常是上述
git
程序的目的。它下载和管理源代码。相反,手动下载源代码。
- 从雨流页面开始
- 点击绿色按钮,上面写着
Code
- 单击下载 ZIP,将文件保存在名为 rainflow 的文件夹中,您将能够再次找到它。我用过
C:\Octave\rainflow\
。
现在打开八度。您可以使用该pkg
工具从下载的源代码构建可安装包,然后安装它。这个包非常简单,Octave-Windows 环境足以执行构建:
在 Octave 中,使用
cd
命令或 Octave 左上角的文件夹树导航到保存rainflow 的文件夹。就我而言,使用cd
我会输入的命令cd c:\octave\rainflow\
。你的可能不一样。该文件夹中的唯一文件应该是
rainflow-octave-master.zip
现在,使用该
pkg
工具使用命令编译包pkg build . rainflow-octave-master.zip
(这.
意味着它将包保存在当前文件夹中。)完成后,该文件夹中现在应该有第二个文件,名为
rainflow-1.0.2-x86_64-w64-mingw32-api-v55.tar.gz
使用命令安装包
pkg install rainflow-1.0.2-x86_64-w64-mingw32-api-v55.tar.gz
(它会给出一些关于文档的警告,但包仍然应该安装。)通过使用命令列出已安装的软件包来验证安装
pkg list
。你应该在包列表中看到rainflow。如果没有,请尝试pkg rebuild
另一个pkg list
. 就我而言,我在列表的中途看到:rainflow | 1.0.2 | C:\Users\USERNAME\octave\rainflow-1.0.2
您现在可以通过首先使用命令加载它来使用该包pkg load rainflow
。
稍微测试一下:
octave:76> rainflow
error: rainflow: RAINFLOW requires at least one input argument.
octave:77> rainflow(1)
ans = [](3x0)
octave:78> A = magic(3)
A =
8 1 6
3 5 7
4 9 2
octave:79> rainflow(A)
ans =
0.5000 2.0000 0.5000 0.5000 3.5000
3.5000 3.0000 8.5000 6.5000 5.5000
1.0000 1.0000 0.5000 1.0000 0.5000
我看到的唯一问题是之后help rainflow
没有显示 rainflow.m 的帮助,我怀疑它应该包含在 rainflow.c 文件中。也许这与自创建雨流以来八度音程的变化有关?如果您想阅读帮助,您需要导航到软件包安装位置或解压缩的源文件的位置并键入help rainflow
,此时它将显示:
octave:49> help rainflow
'rainflow' is a script from the file C:\octave\rainflow\src\rainflow.m
RAINFLOW cycle counting.
RAINFLOW counting function allows you to extract
cycle from random loading.
SYNTAX
rf = RAINFLOW(ext)
rf = RAINFLOW(ext, dt)
rf = RAINFLOW(ext, extt)
OUTPUT
rf - rainflow cycles: matrix 3xn or 5xn dependend on input,
rf(1,:) Cycles amplitude,
rf(2,:) Cycles mean value,
rf(3,:) Number of cycles (0.5 or 1.0),
rf(4,:) Begining time (when input includes dt or extt data),
rf(5,:) Cycle period (when input includes dt or extt data),
INPUT
ext - signal points, vector nx1, ONLY TURNING POINTS!,
dt - sampling time, positive number, when the turning points
spaced equally,
extt - signal time, vector nx1, exact time of occurrence of turning points.
See also SIG2EXT, RFHIST, RFMATRIX, RFPDF3D.
这些其他功能似乎也包含在内,并且帮助有效,因此您可以尝试help sig2ext
、help rfhist
、help rfmatrix
和help rfpdf3d
。我还没有测试过它们是否真的有效。但这将使包启动并运行以供您开始使用。祝你好运!
推荐阅读
- c# - 自定义验证属性的依赖注入
- php - PHP根据日期和时间有条件地使表单字段只读
- python-3.x - 如何从 AWS 策略文档中获取操作值并将其存储为列表?
- sql - SQL 选择具有特定值的不同 ID
- python - 在 Python 中绘制 4D 轮廓(X、Y、Z + 数据)
- html - 我的 css 在 bootstrap 4 中不起作用我该如何解决?
- c - 警告 C4244:'function':从 'int' 转换为 'float',可能丢失数据
- tensorflow - TensorFlow 2 中层的动态输入形状
- iterator - 迭代序列后未触发聚合序列中的 OnComplete
- r - 同样的错误来自哪里,执行 LMER 测试?附资料