【问题标题】:Unexpected MATLAB expression? (trying to create a function) [closed]意外的MATLAB表达? (试图创建一个函数)[关闭]
【发布时间】:2015-04-14 16:44:38
【问题描述】:
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)

【问题讨论】:

  • 我猜它是对 sum 的调用中的分号 (;)。另外,2 之前在做什么?
  • 由于一个简单的印刷错误,我投票关闭您的帖子。删除分号将使您的代码正常工作。

标签: matlab function file-upload indexing load


【解决方案1】:

删除最后一行代码中的分号和end 语句。我的猜测是您想访问matrix 的第二列,因此它只是matrix(:,2)

另外,我怀疑您从某个地方复制并粘贴了代码。这通常是一种不好的编程习惯,因为在这种情况下,您从哪里复制代码可能会起作用,但如果您尝试将其带入当前上下文,它可能与您实际执行的操作略有不同,并可能导致错误。

请参阅 Programmers Stack Exchange 上关于为什么应该一起避免这一切的精彩讨论:https://softwareengineering.stackexchange.com/questions/87696/is-copy-paste-programming-bad

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    相关资源
    最近更新 更多