2017-05-25 49 views
0

有了這個代碼,保存爲test.m錯誤:不能採購

function test() 
x = 1; 
endfunction  

經由source(test.m)在GUI採購時我得到以下的錯誤消息時用於<未知類型>類型執行索引操作:

>> clear 
>> source (test.m) 
x = 1 
error: can't perform indexing operations for <unknown type> type 
error: evaluating argument list element number 1 
>> 

通過>> test調用函數測試可以正常工作,但我想知道我在這裏做錯了什麼。

進展:

打電話只是測試,在右邊的目錄似乎做它,但後來什麼是我們的採購?

+0

在您的代碼中必須存在一些其他錯誤,您上面沒有顯示。除此之外,在沒有arrayfun的情況下使用'y = x> 0'和if ... else部分會更容易,更快和更易讀 – Andy

+0

我只是將它複製到文件中。在「八音盒」中粘貼它毫無怨言地工作。但是,當我用'octave'來源時,我仍然得到相同的錯誤。 – peer

+0

什麼是「當我用八度音源」?你已經創建了一個foobar.m文件,將其中的行粘貼到Octave GUI中運行'foobar'的行中?重要的是:運行'foobar'而不是'foobar.m' – Andy

回答

1

如果運行

source(test.m) 

解釋試圖評估 「」在變量「測試」(這是你的情況下的一個函數)下標,然後調用source結果。

你想要的是調用函數source字符串「test.m」所以你必須使用引號:在這種情況下,所有參數均作爲傳遞

source ("test.m") 

或不使用()字符串:

source test.m