image thumbnail
from Xls to Signal Builder by Giacomo Faggiani
Create Simulink Signal Builder Block from Excel data file. sig_build.m TestCases.xls

sig_build()
function sig_build()
% ----------------------------------------------------------
% Create Simulink Signal Builder Block from Excel data file.
%
% Each xls sheet is used to create a signal builder group  
% Time vector must be in the first column.
% Each sheet must contain the same signal type (name & number)
% as the first sheet.
%
% Use TestCases.xls for example
%
% ---------------------------------------------------------
% Giacomo Faggiani
% First release - Dec 16th 2008
% ----------------------------------------------------------

[NomeFileXls,] = uigetfile('*.xls','select data file');
if isequal(NomeFileXls,0)
    return
end 

[Type,TestCases] = xlsfinfo(NomeFileXls);

for sheet_index = 1:length(TestCases)

    [Num,Text]=xlsread(NomeFileXls,TestCases{sheet_index});
    
     if sheet_index==1 
        % Use signals names of the first sheet as reference.
        SignalName=Text(end,2:end);
     else
        % Check consistent of signals names.
         if ~isequal(SignalName, Text(end,2:end))
            errordlg('Signals Names mismatch!');
            return;
         end
     end
     
     % Create time vector
     Time{sheet_index}=Num(:,1);
        
     % Create data
     for s=2:size(Text,2)
         Data{s-1,sheet_index}=Num(:,s);
     end
    
end

signalbuilder([], 'create', Time,Data,SignalName,TestCases);



Contact us at files@mathworks.com