我想在文本打印语句中打印矩阵/向量的大小。像这样:
fprintf("The size of the matrix is: %s", size(m))
当然它不起作用,我无法知道如何。
编辑:
我试过这个并且它有效,但是有更好的方法吗?
fprintf('The size of the matrix is: %s\n', num2str(size(p)))
答案 0 :(得分:3)
sprintf('The size of the matrix is: %d x %d', size(m))
答案 1 :(得分:3)
在fprintf中,%s用于字符串。 您可以使用num2str或提供的任何解决方案。
fprintf('The size of the matrix is: %s', num2str(size(zeros(10,10))))
答案 2 :(得分:2)
首先,您需要生成确切的模板。为了计算任意数量的维度,您可以使用以下内容:
octave-cli-3.8.1> a = ones (7, 3, 4, 8);
octave-cli-3.8.1> template = strjoin (repmat ({"%i"}, [1 ndims(a)]), " x ")
template = %i x %i x %i x %i
然后只需使用它fprintf
:
octave-cli-3.8.1> sprintf (["The size is: " template "\n"], size (a))
ans = The size is: 7 x 3 x 4 x 8
答案 3 :(得分:0)
sprintf('The size of the matrix is: %s', num2str(size(m)))
你也可以这样做:
display(['The size of the matrix is: ' size(m)])
但结果却截然不同,所以取决于你。