Sandstorm_Bo 2024-03-30 20:06 采纳率: 45.5%
浏览 19
已结题

mathematica报错如图

#mathematica计算不出结果,报错如图,显示无法赋值,是什么问题

img

img

  • 写回答

1条回答 默认 最新

  • 檀越@新空间 2024-03-30 21:43
    关注

    晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    根据您提供的代码,有几个语法错误导致无法计算结果并报错:
    1. 模块名称应为小写字母:"模块"应更正为"Module"。
    2. While 循环缺少结束标志符号 "[]"。
    3. 正弦函数的名称为 "Sin",而不是 "正弦",需要将其更正为 "Sin"。
    4. 赋值运算符应为 "=",而不是 "=="。

    以下是修正后的代码:

    binarySearch[a_, b_, mark_] :=
      Module[{fa, fb, c, fc},
        While[Abs[b - a] > mark,
          c = (a + b)/2;
          fa = Sin[a];
          fb = Sin[b];
          fc = Sin[c];
          If[fc == 0, Break[]];
          If[fa * fc < 0, b = c, a = c];
        ];
        c
      ]
    
    answer = binarySearch[-0.5, 1.2, 0.001];
    Print[answer]
    

    这样,修正后的代码应该可以正确计算结果并打印输出。请注意,根据您提供的代码逻辑,此二分查找函数用于寻找 Sin(x) = 0 的解。如果解不存在或存在多个解,可能需要对算法进行适当的调整。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月10日
  • 创建了问题 3月30日