當索引與變量維度的矩陣向量八度,我該如何指示八度指數是一個矩陣,而不是一個向量?如何判斷該指數意味着是一個矩陣,而不是一個向量
例如,在以下代碼中,在第四次迭代中,Octave將索引視爲行向量,並將索引操作的返回值轉換爲列向量(以匹配被索引的向量比用於索引的那個)。
當我運行:
v = rand(16,1);
t = magic(4);
f = @(m)(sum(m, 1));
for i = 4:-1:1
s = t(1:i,:);
f(v(s))
endfor
我得到:
ans =
1.47780 2.28879 1.29786 2.98981
ans =
1.24705 1.31940 0.87484 2.18276
ans =
0.89387 0.55288 0.50312 1.61950
ans = 1.9294
請參閱第一個三次迭代,得到的答覆是行向量,但在最後一次迭代,答案是單身價值。
我如何告訴變量s應該是一個矩陣,而不是一個向量和索引操作的結果應始終是相同的形狀爲s八度?
我標記這個問題,MATLAB,因爲我相信在Matlab中存在相同的問題,以及爲 – dspyz