let evalF = function(a, b, c) { let result = new Function(`return ${a}${c}${b};`)(); return result; }; 在小程序中报错 (intermediate value) is not a function,怎么解决
时间: 2024-02-23 08:00:21 浏览: 94
这个问题可能是因为小程序没有支持使用new Function这种动态创建函数的方式,所以需要使用其他的方式来实现。你可以尝试使用eval函数,如下所示:
```
let evalF = function(a, b, c) {
let result = eval(`${a}${c}${b}`);
return result;
};
```
这样就可以避免使用new Function(),从而避免这个错误。当然,你也可以考虑使用其他方式来实现你的需求,比如使用函数表达式等。
相关问题
e = cos(2*x) a = e.evalf(subs = {x: 2.4})
这段代码的作用是先定义了一个符号表达式 "e = cos(2*x)",然后使用evalf()方法将该表达式中的符号变量x替换为2.4,并计算该表达式的数值结果,赋值给变量"a"。
具体来说,这段代码的含义是:计算2.4的余弦函数的值并将结果赋值给变量"a"。其中,"cos"是SymPy库中的三角函数,它接受一个弧度值作为参数,并返回余弦值。"evalf"方法将使用"subs"参数指定的变量替换符号表达式中的符号变量,并将结果转换为浮点数。在本例中,"subs = {x: 2.4}" 表示将变量"x"替换为2.4。因此,"e.evalf(subs = {x: 2.4})"的结果将是cos(2*2.4)的数值近似值。
jupyter中markdown里将$$\sum_{i=0}^n i^2$$转化为数字公式并输出结果
在Jupyter Notebook中,Markdown本身并不能直接计算数学公式的结果,它主要用于文本编辑和格式化,包括数学公式。如果你想要在Markdown中插入一个公式并且得到它的计算结果,你需要将其转换成代码块(Code Cell),然后使用Python或其他支持数学计算的语言(如NumPy、SciPy或Sympy)来处理。
对于你给出的例子 $\sum_{i=0}^n i^2$,这是一个求和公式,表示从0到n所有整数的平方和。在Python中,你可以使用内置的`range()`函数和循环来计算这个和。这里是一个简单的示例:
```python
import sympy as sp
# 定义变量n
n = sympy.Symbol('n')
# 计算公式的结果
formula_result = sum(i**2 for i in range(n))
formula_result.evalf(subs={n: 10}) # 将n替换为具体的值,比如10,然后计算结果
```
运行上述代码会返回前10个自然数的平方和。如果你想改变n的值,只需更改最后一行代码中的`10`即可。
阅读全文