显示矩阵大小的合理方法是什么?

What is the reasonable way to display matrix size?

以下条件是可取的:

问题代码:

...
my_variable_name = [1 4];
disp(size(my_varialbe_name));
...

输出:

1 2

理想输出:

...
my_variable_name size: 1 2
...

尝试过 printf、spritf、disp 但都失败了。

如果您想要真正的花哨,您可以编写一个匿名函数来执行此操作,因为您可以使用 inputname 来推断输入变量的名称。

func = @(var)fprintf('\n%s size: %s\n', inputname(1), num2str(size(var)))

x = rand(10, 4);

func(x)
%   x size: 10   4

你也可以直接使用fprintf

fprintf('\n%s size: %s\n', 'myvar', num2str(size(myvar)))

或者,如果您不想使用 num2str,您可以改用多行

fprintf('\n%s size: ', 'myvar')
fprintf('%d ', size(myvar))
fprintf('\n')