2015-04-14 30 views
0
load('matrix.mat'); 
userInput = input('input a value from 1-5') 
DayReport = sum(matrix(:,end 2);==userInput) 

我想檢索與userInput對應的加載矩陣的第2列的行數。但是,當我嘗試運行代碼時,它說第三行中存在錯誤(簡單地說,「意外的MATLAB表達式」)。任何想法,爲什麼這是?意外的MATLAB表達式? (試圖創建一個函數)


編輯:我找到了一個解決方案,結果我不需要「結束」或總和函數內的分號。

load('matrix.mat'); 
userInput = input('input a value from 1-5') 
DayReport = sum(matrix(:,2)==userInput) 
+1

我想調用'sum'內。另外,在它做什麼之前,「2」是什麼? –

+0

由於簡單的印刷錯誤,我正在投票結束您的文章。刪除分號將允許您的代碼工作。 – rayryeng

回答

0

刪除最後一行代碼中的分號和end語句。我的猜測是你想訪問matrix的第二列,並且它只是matrix(:,2)

此外,我懷疑你是從某處複製和粘貼代碼的。這通常是不好的編程習慣,因爲你複製代碼的地方在那種情況下可能會起作用,但是如果你嘗試把它帶入當前的上下文中,它可能會比你實際做的稍微不同,並可能導致錯誤。

參見程序員堆棧交易所爲什麼你應該避免這一切了這份良好的討論:它的分號(';')https://softwareengineering.stackexchange.com/questions/87696/is-copy-paste-programming-bad

相關問題