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