matlab - 如何在 Octave 中替换 MATLAB 函数 table 和 table2array?
问题描述
我想在 Octave 中运行我的 MATLAB 脚本,但在 Octavetable
中尚不存在的函数存在问题。
我要使用的表的摘录如下所示:
Rotation angle Measured distance
-0,342 0,000
-1,440 0,000
-10,422 0,000
-11,574 0,000
-21,060 0,000
-21,528 0,000
-30,402 0,000
要创建我的输出变量,我在 MATLAB 中使用以下代码。
data = table;
data.Rotationangle = cell2mat(raw(:, 1));
data.Measureddistance = cell2mat(raw(:, 2));
在 Octave 中,我收到以下错误。
warning: the 'table' function is not yet implemented in Octave
Please read <https://www.octave.org/missing.html> to learn how you can
contribute missing functionality.
error: 'table' undefined near line 102 column 8
error: called from
Cloud_reconstruction at line 102 column 6
我现在的问题是,是否有机会替换 Octave 中的表格功能?我试图用 Octavedata frame
包找到解决方案,但并没有真正做到。
在同一个脚本中,我还使用了table2array
在 Octave 中还没有实现的函数,稍后也会出现错误。
data = table2array(data);
如果有人可以帮助我,我会很高兴。
解决方案
您可以将类似的语法用于带有结构的“列”索引
data = struct;
data.var1 = [1;2;3;4];
data.var2 = [5;6;7;8];
但是,您会丢失 MATLAB 中可用的许多特定于表的操作。
如果您有上述数据,您可以使用struct2array
而不是table2array
转换为矩阵
data = struct2array( data );
如果你仍然在使用table2array
,你最终会得到一个矩阵,那么为什么不首先坚持使用矩阵呢?如果您的所有数据都是数字的,那么它们的操作通常会更快。
data = [cell2mat(raw(:,1)), cell2mat(raw(:,2))];
编辑:它似乎struct2array
也可能从 Octave中丢失。但是,在那个缺失的链接中,您可以找到几个等效功能的附件。
推荐阅读
- javascript - 如何获取高图中未选择项目的列表?
- apache-spark - 在火花中重现太大的帧异常
- flutter - 如何在对话框中将 SingleChildScrollView 滚动到 TextField 焦点
- c - 将 getpid() 与 clone() 一起使用会导致 SIGSEGV
- javascript - 如何在对象Javascript中制作数组列表
- tensorflow - 无法训练自定义反对者检测器
- php - 如何在文件夹应用程序内但在laravel中的文件夹http之外创建控制器?
- objective-c - 数据是否来自缓存?
- java - 如何将布局作为函数参数传递
- ios - iOS Visible=false,事件元素在屏幕上可见