2017-04-19 4 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))、' \ nOutput further \ 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

関連する問題