Disons que j'avais une variable appelée "x
" et x=5
.
Je voudrais faire:
disp('x is equal to ' + x +'.');
et faire imprimer ce code:
x est égal à 5.
C'est comme ça que j'ai l'habitude de faire des choses en Java, donc ça doit être une manière similaire de faire ça dans MATLAB.
Merci
Si vous souhaitez utiliser disp
, vous pouvez construire la chaîne à afficher comme suit:
disp(['x is equal to ',num2str(x),'.'])
Personnellement, je préfère utiliser fprintf
, qui utiliserait la syntaxe suivante (et me donne un certain contrôle sur le formatage de la valeur de x)
fprintf('x is equal to %6.2f.\n',x);
Vous pouvez bien sûr également fournir x
sous forme de chaîne et obtenir la même sortie que disp
(donner ou prendre quelques sauts de ligne).
fprintf('x is equal to %s\n',num2str(x))
imprimer quelques variables scalaires dans matlab est un gâchis (voir la réponse ci-dessus). avoir une fonction comme celle-ci dans votre chemin de recherche aide à:
function echo(varargin)
str = '';
for k=1:length(varargin)
str = [str ' ' num2str(varargin{k})];
end
disp(str)
il suffit d'imbriquer un sprintf () à l'intérieur du disp ().
disp(sprintf("X is equal to %d.",x));