【问题标题】:Logical error in applying logarithm应用对数的逻辑错误
【发布时间】:2013-11-20 04:35:08
【问题描述】:

在实现公式时出现错误错误(尝试访问 sum(0.0508041);索引必须是正整数或逻辑整数。)

【问题讨论】:

    标签: matlab


    【解决方案1】:

    错误的原因 (Attempted to access sum(0.0508041); index must be a positive integer or logical.) 是因为您使用 sum 作为变量。切勿使用内置 MATLAB 函数的名称作为变量名。此行尝试使用lnR 中的非整数值索引名为sum 的变量,而不是summing 值。

    此外,从一个i 到下一个,您将覆盖lnR 中所有以前的值,而从未使用过它们。这也意味着当你最终在循环之后使用lnR 时,它只是上一次循环迭代中的lnR。而且,您应该始终预先分配数组(例如lnR = zeros(l2,1);)。同样,在 lorenzo.m 中预分配 xyz

    【讨论】:

    • 我更正了它,现在它给出了这个错误 > 未定义的函数或变量“lnR”。 Takens 中的错误(第 77 行)r_i = sum(lnR(:))。我已经重新发布了代码并指出了您的更正。\
    • @SrishtiM 我刚刚从帖子中运行了您的代码,但没有收到该错误。检查编辑器中的代码。
    • 我通过预分配 lnR = zeros(l2,1); 运行代码(它是 l2 而不是 12)。现在,由于编码不正确,我得到了逻辑错误。我得到所有 r_i=0 和取值维度为无穷大。您能否提供计算公式的正确方法?感谢您的时间和精力。
    • 我不知道如何实现正确的公式。但是您的代码不再给出错误,它给出了一个r_i,它是一个具有非零值的单个标量。复制您帖子中的代码,然后重试,因为您似乎在运行不同的代码。
    • @SrishtiM 不需要新帖子。只需编辑问题。它会撞到顶部。也许给一个更具描述性的标题。如果有帮助,我将不胜感激。我会继续努力为您找到完整的答案。
    猜你喜欢
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多