How can I print line numbers when I use the PUBLISH command in MATLAB?
57 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 22 de Dic. de 2009
Editada: MathWorks Support Team
el 30 de Mzo. de 2015
I want line numbers printed next to each line of my function when I publish functions using the PUBLISH command.
I would like to see something like
001 function y = MyFunc(x)
002 y = x.^2;
003 end
Respuesta aceptada
MathWorks Support Team
el 30 de Mzo. de 2015
Use the dbtype function for this purpose:
>>doc dbtype
You can achieve the same thing using code such as the following:
function mypublish(filename)
% A Custom publish function that includes the line
% number for each line in the function
% Usage: mypublish('myfun.m')
function_options.format='html'
function_options.evalCode=false;
function_options.showCode=true;
copyfile(filename, 'mytemp.m')
fid1 = fopen(filename);
fid2 = fopen('mytemp.m', 'w');
i=1;
while 1
tline = fgetl(fid1);
if ~ischar(tline)
break;
end
if ~isempty(tline)
tline = [num2str(i),' ', tline];
fprintf(fid2,'%s',tline);
fprintf(fid2,'%s\n','');
i = i + 1;
end
end
fclose(fid1);
fclose(fid2);
publish(filename, function_options); % publish original function without line numbers
publish('mytemp',function_options); % publish temp function with line numbers
delete('mytemp.m'); % delete temp M -file
Note that the second approach would give you more flexibility if you wanted to display more than the line number.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with MATLAB en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!