exponenta event banner

exportImpl

Класс: Simulink.io.FileType
Пакет: Simulink.io

Экспорт сигналов в файл

Синтаксис

[didWrite,errMsg] = exportImpl(exportFileName,varNames,varValues,isAppend)

Описание

[didWrite,errMsg] = exportImpl(exportFileName,varNames,varValues,isAppend) экспортирует сигналы из редактора сигналов с использованием указанных переменных и возвращает didWrite и errMsg и сохраняет их в exportFileName.

Входные аргументы

развернуть все

Имя файла для экспортируемых сигналов, указанное как символьный массив.

Типы данных: char

Имена сигналов, заданные как массив ячеек символьных векторов.

Типы данных: cell

Значения сигнала, связанные с сигналами в varNames, заданный как массив ячеек сигнальных переменных поддерживаемых типов. Дополнительные сведения о поддерживаемых типах см. в разделе Выбор базового рабочего пространства и формата MAT-файла.

Типы данных: cell

Добавить или перезаписать файл сигнала, указанный как true (1) или false (0).

Типы данных: logical

Выходные аргументы

развернуть все

Были ли сигналы успешно записаны в exportFileName, возвращено как true (1) или false (0).

Сообщение об ошибке, указывающее на ошибки в процессе создания отчета, возвращено в виде символьного массива.

Примеры

развернуть все

Подкласс FileType класс и реализация exportImpl способ.

classdef MySignalMatFile < Simulink.io.FileType

Реализация статического метода exportImpl.

methods
        
        function [didWrite,errMsg] = exportImpl(obj,fileName,cellOfVarNames, ...
                cellOfVarValues,isAppend)
            didWrite = false;
            errMsg = '';
            
            saveStruct = struct;
            
            for k = 1: length (cellOfVarNames)
                saveStruct.(cellOfVarNames{k}) = cellOfVarValues{k};
            end
            
            try
                if isAppend
                    save(fileName,'-struct','saveStruct','-append');
                else
                    save(fileName,'-struct','saveStruct');
                end
                didWrite = true;
            catch ME
                
                % Optional, return errMsg or throw hard error.
                % Returning an error message allows your automated
                % processes to carry on while allowing you to report the
                % error at a later time.
                errMsg = ME.message;
            end
            
        end
    end
end
Представлен в R2020a