Следующее золотое правило может быть применено к любой кодировке MATLAB и применимо здесь
Всегда подавлять отображение назначений с помощью ;
и явно отображать переменные отдельно при необходимости.
В этом случае мы можем сделать следующее:
Внутри main.mlx
, мы пишем
% Call the sub scripts without output
bDisp = false;
sub1;
sub2;
Внутри sub1.mlx
и sub2.mlx
вы можете структурировать свои выводы так, чтобы они были более явными
% By default (when running this script alone), display things
if ~exist( 'bDisp', 'var' )
bDisp = true;
end
syms A1 B1
% Terminate the assignment with a semi-colon to suppress output
A1 = B1;
% Explicitly display A1 here (if bDisp is enabled)
if bDisp
A1 % disp(A1) would be even more verbose, but doesn't show "A1 = "
end
Этот метод дает вам контроль над тем, когда отображать вещи, независимо от того, откуда вы их вызываете.
Вы можете сделать проверку по умолчанию (вверху sub1.mlx
/ sub2.mlx
) более сложной, если хотите. Например, вы могли бы использовать dbstack
, чтобы определить, откуда был вызван исполняемый код (то есть, из какой функции), но в реальном времени сценарии становятся немного интереснее со стеком.