Code covered by the BSD License  

Highlights from
Simulink Library Usage Stats

from Simulink Library Usage Stats by Dan Lluch
Script that interrogates Simulink models for library block usage.

dolibstats(model)
function dolibstats(model)
% Copyright 2003 The MathWorks, Inc.

[text,libraries_used]=sldiagnostics(model,'libs');
[text,blocks_used]=sldiagnostics(model,'countblocks');

[library_blocks]=libinfo(model);

for i=1:length(library_blocks)
    tmp1{i} = library_blocks(i).Library;
end

% find unique instances of blocks and from which library
%
% loop on each library
for i=1:length(libraries_used)
    % finding all instances of block usage that are from a particular
    % library
    temp=find(ismember(tmp1,{libraries_used(i).libs}));
    disp([libraries_used(i).libs ' : ' num2str(length(temp))])
    clear tmp2
    % finding unique instances of library block usage
    for j=1:length(temp)
        tmp2{j} = library_blocks(temp(j)).ReferenceBlock;
    end
    tmp3 = unique(tmp2);
    disp(['  unique blocks : ' num2str(length(tmp3))])
    % total number of times each unique block is used
    for j=1:length(tmp3)
        temp=find(ismember(tmp2,tmp3(j)));
        tmp4 = regexprep(tmp3{j}, '\n', ' '); % replace new lines with space for block name
        disp(['  ' tmp4 ' : ' num2str(length(temp))])
    end
end

Contact us at files@mathworks.com