una sirve script que punto para marcar graficas graficar grafica funciones ejemplo comandos basicas matlab dependencies code-analysis diagram

sirve - plot en matlab



Generación automática de un diagrama de llamadas de función en MATLAB (1)

Puede usar las técnicas de esas otras respuestas a las que se hace referencia en el comentario de gnovice para obtener una lista de dependencias de función como pares (A, B), donde A llama a B. Luego instale GraphViz y úselo para generar los diagramas. Puede crear los archivos .dot de Matlab con algo como esto.

function createFunctionDependencyDotFile(calls) %CREATEFUNCTIONDEPENDENCYDOTFILE Create a GraphViz DOT diagram file from function call list % % Calls (cellstr) is an n-by-2 cell array in format {caller,callee;...}. % % Example: % calls = { ''foo'',''X''; ''bar'',''Y''; ''foo'',''Z''; ''foo'',''bar''; ''bar'',''bar''}; % createFunctionDependencyDotFile(calls) baseName = ''functionCalls''; dotFile = [baseName ''.dot'']; fid = fopen(dotFile, ''w''); fprintf(fid, ''digraph G {/n''); for i = 1:size(calls,1) [parent,child] = calls{i,:}; fprintf(fid, '' "%s" -> "%s"/n'', parent, child); end fprintf(fid, ''}/n''); fclose(fid); % Render to image imageFile = [baseName ''.png'']; % Assumes the GraphViz bin dir is on the path; if not, use full path to dot.exe cmd = sprintf(''dot -Tpng -Gsize="2,2" "%s" -o"%s"'', dotFile, imageFile); system(cmd); fprintf(''Wrote to %s/n'', imageFile);

GraphViz funciona muy bien para muchas otras aplicaciones de árbol y gráfico, como herencia de clases y árboles de dependencia, flujo de datos, etc.

¿Alguien sabe de una herramienta que se puede usar para construir automáticamente diagramas de llamadas de función en MATLAB?

Por ejemplo, para una función determinada, la herramienta recurriría recurrentemente a llamadas de funciones y construiría un gráfico 2D donde los nodos representarían funciones y los bordes dirigidos conectarían las funciones de llamada con las funciones llamadas.

Idealmente, la herramienta podría permitir al usuario encender y apagar filtros para incluir solo funciones definidas por el usuario, limitar la profundidad de recursión, etc.

Creo que Doxygen proporciona algunas funcionalidades similares para lenguajes OOP más tradicionales, pero me preguntaba si ya existe algo así para MATLAB.

¡Gracias!