必须从类构造函数调用 CLASS 函数

Ros*_*one 2 matlab

我正在尝试查找结构字段的类型。

我试图调用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

Jon*_*nas 5

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)。