0

Apparently Simulink supports only few datatypes.

So, how to keep something other? I want to produces images from a directory, how to keep directory list and current position?

The following code causes error

function DoPostPropSetup(block)

  block.NumDworks = 1;

  block.Dwork(1).Name            = 'Filelist';
  block.Dwork(1).Dimensions      = 1;
  % block.Dwork(1).DatatypeID      = -10;      % MATLAB Array  % does not work
  block.Dwork(1).DatatypeID      = 0;      % double
  block.Dwork(1).Complexity      = 'Real'; % real
  block.Dwork(1).UsedAsDiscState = true;

  block.Dwork(1).Data = dir(block.DialogPrm(1).Data);
4

1 回答 1

1

您不能在 2 级 s-function Dwork 中存储非数字类型。为了您的使用,您可能需要将文件列表转换为带有路径分隔符的字符串,并使用 char 类型来存储它。您需要不同的 Dwork 来存储位置。

另一种方法是将列表存储为 char 矩阵,其中较小的文件名填充空格或任何不属于有效文件名的字符。存储为矩阵将更容易索引到列表中。

于 2013-07-17T14:10:35.003 回答