2017-04-19 65 views
-7

下列条件是所希望的:什么是显示矩阵大小的合理方式?

  • 的代码应在一行
  • 变量名应重复如在代码几次尽可能(优选仅一次),但是可以存在于输出
  • 输出应含有至少领先换行符(最好是后一个太)

问题代码:

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

输出:

1 2 

理想输出:

... 
my_variable_name size: 1 2 
... 

试过的printf,spritf,DISP但他们失败了。

+2

fprintf中'(['输出线路1 \ nmy_variable_name size:',num2str(size(my_variable_name)),'\ n进一步输出\ n'])' –

+0

你试过的代码是什么? 'fprintf'应该可以正常工作,您可能会错误地使用它。 – Suever

回答

1

如果你想成为真正的幻想,你可以写一个匿名函数来做到这一点,因为你可以使用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') 
+0

这正是我想要的!你还可以评论为什么人们倾向于在这里使用frprintf,我认为它是用于文件输出的?另外printf也适用。 – VladimirLenin