warnings and erros in matlab

2 vues (au cours des 30 derniers jours)
Tomas Iesmantas
Tomas Iesmantas le 18 Juil 2011
Hi, Is there any way to write all warnings and errors ocurred in simulation\calculation to some text file?
I generate simulink model automatically and the simulating it through COM. I need to have all errors and warnings occured during simulation in one file.
Thanks in advance,
Tomas

Réponses (2)

Jan
Jan le 18 Juil 2011
I use a dedicated function for logging warnings and errors: The functions is used instead of WARNING and ERROR and writes all messages in a file, which is opened once at the beginning. Unexpected errors have to be caught by TRY/CATCH then.
function myLog(Command, Caller, Msg)
persistent FID
switch Command
case 'open'
FID = fopen(Caller, 'w');
case 'close'
fclose(FID);
FID = -1;
case 'warning'
fprintf(FID, 'warning: %s: ', Caller);
if iscellstr(Msg)
Msg = sprintf(FID, '%s\n', Msg{:});
Msg(end) = [];
end
fprintf(FID, '%s\n', Msg);
% Perhapse: warning([Caller, ': ', Msg])
% or: fprintf(2, '%s\n', Msg);
case 'error'
fprintf(FID, 'error: %s: ', Caller);
if iscellstr(Msg)
Msg = sprintf('%s\n', Msg{:});
Msg(end) = []; % Remove trailing line break
end
fprintf(FID, '%s\n', Msg);
% Perhaps: error([Caller, ': ', Msg])
% or: fprintf(2, '%s\n', Msg);
end
Now this creates the messages:
myLog('open', fullfile(tempdir, 'logfile.txt'));
myLog('warning', 'Project 1', 'totally nonsense');
myLog('error', 'Project 1', {'Completely', 'wrong'});
myLog('close');

Friedrich
Friedrich le 18 Juil 2011
Hi,
I think the diary command can help you here:
  1 commentaire
Tomas Iesmantas
Tomas Iesmantas le 18 Juil 2011
But it creates file with whole commands used in matlab window. But I need to have just errors\warnings and whithout other commands.

Connectez-vous pour commenter.

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by