2017-07-19 6 views
-2
a=magic(5) 
k=a,3 

kを印刷すると、単にaと表示されます。Octaveでは変数=(行列、スカラー)は何を意味していますか?

m=size(a,3) 
n=size(a,6) 

私はmnを印刷するとき、彼らは異なる値を印刷します。

誰でもこの機能の説明をしてください。オクターブ4.2.1

k=a,3 

+0

構文エラーです! – OmG

+0

@OmGそうではありません。これは有効なMATLABの構文ですが、コードゴルフならば、まったく役に立たないですが! il_raffaの答えはMATLABでも保持されています。 – rayryeng

+0

@rayryeng質問のタイトルはOctaveです。このコードはOctaveに構文エラーがあります。 – OmG

答えて

3

が第2の命令として、次に、変数kにマトリックスaを割り当て、CommandWindowに印刷値3

,(カンマ)は、同じ行に2つの命令を持つために使用されます。

alterntiveが

m=size(a,3) 
n=size(a,6) 

第paramenter Nコールへの割り当てのrespecとk=a

のCommandWindowに出力を抑制する効果を有する;,を交換することができますsizeは、サイズを知りたい行列(最初のパラメータ)のdimensionを指定します。命令size(a,3)aの三次元のサイズを探しながら

aサイズ(5 x 5)の二つの「次元」行列です。

同様に、size(a,6)aの6番目のディメンションのサイズを探します。 1

これはCommandWondowで出力されているため、これらの場合には、aは、(5 x 5 x 1)(5 x 5 x 1 x 1 x 1 x 1)

戻り値として考えられている。このことができます

>> a=magic(5) 

a = 

    17 24 1 8 15 
    23 5 7 14 16 
    4 6 13 20 22 
    10 12 19 21 3 
    11 18 25 2 9 

>> k=a,3 

k = 

    17 24 1 8 15 
    23 5 7 14 16 
    4 6 13 20 22 
    10 12 19 21 3 
    11 18 25 2 9 

ans = 3 

>> m=size(a,3) 

m = 1 
>> n=size(a,6) 

n = 1 

希望、

Qapla '

2

matlab/octaveでは、exを終了するには3つの方法がありますプレス(例えば、 1+2):使用した場合に改行でコンマ,

  • でセミコロン;
    • (すなわち押圧入力)

    最初のもの(すなわちセミコロン)、評価は出力を抑制するです。他の2つ(すなわち、コンマおよび改行)は、両方とも文を評価し、の結果はと表示されます。

    なぜ、コンマと改行の両方があるのですか?カンマを使用すると、同じ行の複数の式を評価することができます(それらのすべてに結果が表示されるようになります)。

    注意:ほとんどの人が式を別々の行に書くという事実を考えると、カンマはあまり使われない傾向があるため、あまり知られていません。

    例:

    octave:1> 1+2, 3+4 
    ans = 3 
    ans = 7 
    
    octave:2> 1+2; 3+4; 
    
    octave:3> 1+2; 3+4 
    ans = 7 
    
    octave:4> 1+2, 3+4; 
    ans = 3 
    
    octave:5> for i = 1:3; i; end % output in each iteration is suppressed 
    
    octave:6> for i = 1:3; i, end % whereas with a comma, output is not suppressed 
    i = 1 
    i = 2 
    i = 3 
    

    したがって

    あなたの文:

    a = magic(5) 
    k = a, 3 
    

    a = magic(5)  % newline used: display value of a after assignment 
    k = a,   % comma used, assign value of a to k, then display k 
    3     % newline used: displays the value '3' after pressing enter 
    

    012と本質的に同等です

    さらに、sizeの機能は、あなたが思うとはしません。 size(a,3)は、3 rd次元の配列aのサイズを返します。

  • 関連する問題