我正在尝试找到结构字段的类型。
我尝试在我认为是数组的地方调用prod
,但是我收到了这个错误:
??? Error using ==> prod
Dimension argument must be a positive integer scalar within indexing range.
所以我打印了有问题的对象,发现了这个:
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
这与数组的输出不同,即:
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
当我在对象上调用class
时,我收到此错误:
K>> class(F.val)
??? Error using ==> class
The CLASS function must be called from a class constructor.
如何找到F.val
的类型?
答案 0 :(得分:4)
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
)。