【问题标题】:Unbalanced or misused parentheses or brackets [closed]不平衡或误用括号或方括号 [关闭]
【发布时间】:2014-11-10 17:41:40
【问题描述】:

我收到错误消息:错误:不平衡或误用括号或括号。

d=sqrt(('T'(i,1)-'T'(j,1))^2+('T'(i,2)-'T'(j,2))^2));

我尝试添加 .或 ./ 但它没有用。有什么帮助吗?我将不胜感激! (T 是我从 .txt 文件转换而来的表格)。

【问题讨论】:

    标签: matlab regression spatial


    【解决方案1】:

    嗯,它们是不平衡的..这里有一个技巧可以找出哪里/如何:递归地遍历表达式并用a..z替换每个(..)构造,从最里面,从左到右工作。重复这个过程,直到这个过程不再可能 - 每一步还剩下(或缺少)什么?

    d=sqrt(('T'(i,1)-'T'(j,1))^2+('T'(i,2)-'T'(j,2))^2));
    d=sqrt(('T'A-'T'B)^2+('T'C-'T'D)^2));
    d=sqrt(E^2+F^2));
    d=sqrtG);
    

    或者(实际上)使用带有括号突出显示/匹配的编辑器 .. 投票关闭作为一个简单的错字。

    【讨论】:

    • 我听从了你的建议,用随机数替换了every(),然后我发现只要在代码中添加(i,1)就开始显示错误:d=sqrt(( 'T'*1-'T'*2)^2+('T'*3-'T'*4)^2) 很好,但是 d=sqrt(('T'(i,1)-' T'*2)^2+('T'*3-'T'*4)^2) 是错误的。在首选项中检查了分隔符匹配,我确定我没有输入任何错误的括号。我应该更改代码的哪一部分?
    【解决方案2】:

    错误消息指出左括号的数量与右括号的数量不同。事实上,最后你还有一个额外的)。摆脱它。

    d=sqrt(('T'(i,1)-'T'(j,1))^2+('T'(i,2)-'T'(j,2))^2);
    

    【讨论】:

    • 是的,我昨晚发现了它,但即使我删除了最后一个括号,我仍然会出错。正如我上面写的,我尝试使用随机数替换每个 (),最多 d=sqrt(('T'*1-'T'*2)^2+('T'*3-'T'* 4)^2) 很好,然后我发现只要我在代码中添加 (i,1) 它就开始显示错误:d=sqrt(('T'(i,1)-'T' *2)^2+('T'*3-'T'*4)^2),错误:不平衡或误用括号或括号。在首选项中检查了分隔符匹配,我确定我没有输入任何错误的括号。我该如何解决这个问题?
    猜你喜欢
    • 2013-06-05
    • 2013-04-20
    • 2017-09-13
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多