2010-05-31 50 views
1

我有一個函數func,它返回一個向量a。我通常會繪製一個然後對其進行進一步分析。當我嘗試繪製一個圖形時,有一定的場景,我收到「??? Subscript indices must either be real positive integers or logicals」錯誤。看看下面的一段代碼來看看向量的行爲:奇怪的Matlab錯誤:「???下標索引必須是真正的正整數或邏輯」

K>> a 

a = 
    5.7047 6.3529 6.4826 5.5750 4.1488 5.8343 5.3157 5.4454  

K>> plot(a) 
??? Subscript indices must either be real positive integers or logicals. 

K>> for i=1:length(a); b(i) = a(i); end; 
K>> b 

b = 
    5.7047 6.3529 6.4826 5.5750 4.1488 5.8343 5.3157 5.4454  

K>> plot(b) 
??? Subscript indices must either be real positive integers or logicals. 

在那裏當我打電話功能func從另一個函數內發生這種情況時的場景(稱之爲outer_func),並直接爲outer_func返回結果結果。在outer_func內部進行調試時,我可以正確繪圖,但不在outer_func的範圍內,其結果具有上述行爲。

這是什麼原因造成的?我從哪裏開始?

+0

另請參閱[此問題](http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-integers-or-logicals-generic-sol)for [generic解決此問題的方法](http://stackoverflow.com/a/20054048/983722)。 – 2013-11-27 15:45:13

回答

10

你,你的某處函數中,有這樣一句臺詞:

plot = something 

在這種情況下,地塊被認爲是函數內部的數組,並可能出現你的錯誤。

順便說一句:你可以用b=a代替循環。

+0

是的,我愚蠢。謝謝。 – 2010-05-31 18:15:41

相關問題