Matlab'da dirsekli / dirsekli olmayan kolon dizileri


0

Söyleyebileceğim, diziler a:d:bve [a:d:b]tamamen aynı şey. Örneğin,

>> [1:3] == 1:3
ans =
  1×3 logical array
   1   1   1

Ancak, bu iki ifade farklı sonuçlar verir:

>> [1:3]' + 1:3
ans =
     2     3

>> [1:3]' + [1:3]
ans =
     2     3     4
     3     4     5
     4     5     6

Neden?

(Matlab R2017b 9.3.0.713579 kullanıyorum)

Yanıtlar:


1

Bu forumda Rik Wisselink'ten iyi bir cevap geldi: https://www.mathworks.com/matlabcentral/answers/391046-colon-generated-arrays-with-or-without-brackets

Bunun nedeni, bu bildirimin değerlendirildiği beklenmeyen düzendir:

[1:3]' + 1:3  
([1:3]' + 1):3  
([1;2;3]+1):3  
[2;3;4]:3  
2:3  
[2,3]  

Parantez eklemek, iki nokta üst üste operatöründen önce ve sonra gruplamayı zorlar (parantez de işe yarayabilirdi).

Stephen Cobeldick +, bunun daha yüksek önceliğe sahip olduğu gerçeğiyle açıklandığını ekliyor :.

Steven Lord ayrıca, 4. ve 5. hatların geçişinin belgelerde açıklandığını da belirtti:

Ölçeksel olmayan dizileri belirtirseniz, MATLAB j: i: k'yi j (1): i (1): k (1) olarak yorumlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.