我正在尝试生成以下内容:使用 disp 和 num2str 命令,x 和 y 的新值分别为 -4 和 7。我试图这样做 disp('x 和 y 的新值分别是 num2str(x) 和 num2str(y)'),但它给出了 num2str 而不是适当的值。我应该怎么办?
最佳答案
就像 Colin 提到的那样,一种选择是使用 num2str
将数字转换为字符串,手动连接所有字符串并将最终结果输入 disp
。不幸的是,它会变得非常笨拙和乏味,尤其是当您要打印大量数字时。
相反,您可以利用 sprintf
的强大功能,它在 MATLAB 中与其 C 编程语言非常相似。这会产生更短、更优雅的语句,例如:
disp(sprintf('The new values of x and y are %d and %d respectively', x, y))
您可以使用格式说明符控制变量的显示方式。例如,如果
x
不一定是整数,则可以使用 %.4f
来代替 %d
。编辑:就像乔纳斯指出的那样,您也可以使用
fprintf(...)
而不是 disp(sprintf(...))
。关于string - 我正在尝试在 matlab 中显示变量名称和它们值的 num2str 表示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13299923/