我正在尝试查找结构字段的类型。
我试图调用prod我认为是一个数组的东西,但我收到了这个错误:
??? Error using ==> prod
Dimension argument must be a positive integer scalar within indexing range.
Run Code Online (Sandbox Code Playgroud)
所以我打印了有问题的对象并发现了这个:
K>> F.val
ans =
0.110000000000000 0.890000000000000
ans =
0.590000000000000 0.410000000000000 0.220000000000000 0.780000000000000
ans =
0.390000000000000 0.610000000000000 0.060000000000000 0.940000000000000
Run Code Online (Sandbox Code Playgroud)
这与数组的输出不同,它是这样的:
K>> [0.11 0.89 0.59 0.41 0.22 0.78 0.39 0.61 0.06 0.94]
ans =
Columns 1 through 4
0.110000000000000 0.890000000000000 0.590000000000000 0.410000000000000
Columns 5 through 8
0.220000000000000 0.780000000000000 0.390000000000000 0.610000000000000
Columns 9 through 10
0.060000000000000 0.940000000000000
Run Code Online (Sandbox Code Playgroud)
当我调用class该对象时,出现此错误:
K>> class(F.val)
??? Error using ==> class
The CLASS function must be called from a class constructor.
Run Code Online (Sandbox Code Playgroud)
我怎样才能找到类型F.val?
F很可能是一个结构数组。因此,调用class(F.val)类似于调用class(F(1).val, F(2).val, F(3).val),这与单输入元素语法不同。
使用class(F(1).val)以获得类val的第一要素F。
顺便说一句,错误prod很可能来自相似的来源。prod(F(1).val)工作正常,但是,有两个输入,第二个被假定为一个维度参数,并且需要是一个整数(虽然可以是class double)。