意外的MATLAB表达? (试图创建一个函数)

时间:2015-04-14 16:44:39

标签: matlab function file-upload indexing load

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

我正在尝试检索与userInput对应的已加载矩阵的第2列中的行数。但是,当我尝试运行代码时,它表示第三行中存在错误(简单地说,"意外的MATLAB表达式")。有什么想法为什么?


编辑:我发现了一个解决方案,结果我不需要"结束"或sum函数中的分号。

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

1 个答案:

答案 0 :(得分:0)

删除最后一行代码中的分号和end语句。我的猜测是你要访问matrix的第二列,并且只有matrix(:,2)

另外,我怀疑你从某个地方复制并粘贴了代码。这通常是错误的编程实践,因为你复制代码的地方可能适用于那种情况,但是如果你尝试将它带入当前的上下文,它可能与你实际做的有些不同,可能会导致错误。

请参阅有关程序员堆栈交换的详细讨论,了解为何应该避免这一切:https://softwareengineering.stackexchange.com/questions/87696/is-copy-paste-programming-bad