倍频程-访问倍频程值列表中的值 我在使用C++开发环境的同时使用八度字节的C++ API。
我想知道调用函数时如何访问返回的八度值列表中的单个值 例如,当我调用时钟函数时,返回一个倍频程值列表,该列表显示以下内容: 2014.0000 8.0000 22.0000 10.0000 1.0000 44.7120 我现在想访问每一个单一的价值,但不知何故,我只能得到一年。倍频程-访问倍频程值列表中的值 我在使用C++开发环境的同时使用八度字节的C++ API。,c++,octave,C++,Octave,我想知道调用函数时如何访问返回的八度值列表中的单个值 例如,当我调用时钟函数时,返回一个倍频程值列表,该列表显示以下内容: 2014.0000 8.0000 22.0000 10.0000 1.0000 44.7120 我现在想访问每一个单一的价值,但不知何故,我只能得到一年。 我缺少一些语法,也许有人可以帮助我。回答您问题的有用文档: 强氧剂 强氧剂 您提到的值是倍频程值列表中的多个倍频程值s,还是倍频程值列表中的单个倍频程值中的一组值 请注意,单个倍频程值不一定是标量值。它可以是n维数
我缺少一些语法,也许有人可以帮助我。回答您问题的有用文档:
- 强氧剂
- 强氧剂
您提到的值是
倍频程值列表中的多个倍频程值
s,还是倍频程值列表中的单个倍频程值
中的一组值
请注意,单个倍频程值不一定是标量值。它可以是n维数组和多个元素。它可以是结构、结构数组或单元数组。它基本上可以是一个倍频程变量可以是的任何东西。例如,呼叫:
foo ([1 2 3], "string", {678, "other string"}, struct ("over", 9000))
将创建一个带有4个倍频程值的倍频程值列表
,并且:
foo ([1 2 3])
仍将创建一个倍频程值\u列表
,但只创建一个倍频程值
你需要做的第一件事就是弄清楚你实际上拥有什么。你可以使用octave\u value\u list.length()
来获得一个想法,你可以通过简单地用圆括号索引它们来获得单个octave\u值
虽然您可以使用octave\u value
的is\u x()
方法之一,但建议在转换后检查error\u state
的值,以检查是否出现任何错误。这将提供一个更自然的八度音阶体验,并将处理不同类型之间的转换,您希望在八度为您
for (int i =0; i < list.length (); i++)
do_stuff_with (list(i));
std::string s = val.string_value ();
bool b = val.bool_value ();
boolMatrix bm = val.bool_matrix_value ();
Cell c = val.cell_value ();
NDarray nd = val.array_value ();
int i = val.int_value ();
Array<double> ad = val.vector_value ();