Main Content

whosImpl

クラス: Simulink.io.FileType
パッケージ: Simulink.io

Simulink.io.FileType オブジェクトに関連付けられている MAT ファイルのコンテンツを判断

構文

signals = whosImpl(reader)

説明

signals = whosImpl(reader)Simulink.io.FileType オブジェクトに関連付けられている MAT ファイルのコンテンツが含まれている構造体を返します。

実行時の詳細

whosImpl は、アプリケーションを実行するときに whos によって呼び出されます。詳細については、信号エディターにインポートするカスタム ファイル タイプの作成を参照してください。

入力引数

すべて展開する

リーダー。Simulink.io.FileType オブジェクトとして指定します。

出力引数

すべて展開する

MAT ファイルのコンテンツ。構造体の配列として返されます。この構造体には信号名 ['char array'] と、サポートされている型のオプションの信号タイプが含まれます。サポートされる型の詳細については、ベース ワークスペースと MAT ファイルの形式の選択を参照してください。

すべて展開する

FileType クラスをサブクラス化し、whosImpl メソッドを実装します。

classdef MySignalMatFile < Simulink.io.FileType

静的メソッド whosImpl を実装します。

methods 
        
        function outOnFile = whosImpl(obj)
            onFile = whos(obj.FileName);
            
            numVars = length(onFile);
            
            outOnFile(1).name = [];
            outOnFile(1).type = [];
            
            for k = 1: length(numVars)
                
                outOnFile(k).name = onFile(k).name;
                
                if strcmpi( onFile(k).class, 'Simulink.SimulationData.Dataset' )
                    outOnFile(k).type = 'Dataset';
                else
                    % Assume Signal(timeseries or timetable)
                    % other acceptable types
                    %  - Bus   : for bus signals
                    %  - Ground: for grounds (empty double)
                    %  - FunctionCall: for single column double data arrays
                    outOnFile(k).type = 'Signal';
                end
                
            end
            
        end
    end

バージョン履歴

R2020a で導入