我正在尝试在Maple中执行以下积分:
simplify(int(a*x^2*e^(-a*x^2), x = -infinity .. infinity))
Run Code Online (Sandbox Code Playgroud)
但是Maple只返回整数语句本身而不是返回答案:
int(a*x^2*e^(-a*x^2), x = -infinity .. infinity)
Run Code Online (Sandbox Code Playgroud)
虽然在更漂亮的形式(与实际的积分符号等).我已经尝试删除"简化()"但它没有任何区别.
知道为什么会这样吗?它应该返回一个值.
在Matlab命令窗口中输入:
syms f;
s = 2*pi*f*j;
s
Run Code Online (Sandbox Code Playgroud)
返回
s =
pi*f*2*j
Run Code Online (Sandbox Code Playgroud)
为什么pi不计算为3.141592 ...?我输入命令窗口的代码出了什么问题?
我正在寻找一种简单的方法来为一个数学表达式赋予一个数字,比如介于0和1之间,这表达了表达式的简化程度(完全简化为1).例如:
eval('x+1') 应该返回1.
eval('1+x+1+x+x-5')应该返回一些小于1的值,因为它远非简单(即,它可以进一步简化).
参数eval()可以是字符串或抽象语法树(AST).
我想到的一个简单的想法是计算运算符的数量(?)
编辑:让简单等同于一个系统如何接近一个问题的解决方案.例如,给定代数问题(即极限,导数,积分等),它应该分配一个数字来说明它与解决方案的接近程度.
最接近的比喻我可以想出一个数学教授如何看待一个不完整的问题并进行心理评估,以便说明学生与解决方案有多接近.就像在数学考试中一样,学生没有完成一个价值20分的问题,但教授分配了20分中的8分.为什么他会提出8/20,我们可以编程这样的东西吗?
我想用Haskell写下数学表达式.例如:
foo = (3 * 'x' + 2 * 'y' -- => 3x+2y
Run Code Online (Sandbox Code Playgroud)
有没有办法从下面改写实施这样的方式,Add并Mul可以通过运营商进行更换+,并*分别?
data Expr = Const Integer
| Var Char
| Add Expr Expr
| Mul Expr Expr
deriving (Show)
...
foo = Add (Mul (Const 3) (Var 'x')) (Mul (Const 3) (Var 'y'))
Run Code Online (Sandbox Code Playgroud)
丑陋地狱.使用TypeOperators也不会起作用,它需要运算符在其前面:.
infixl 4 :+:
infixl 5 :*:, :/:
infixr 6 :^:
data Expr = Const Integer
| Var Char
| Expr :+: Expr
| …Run Code Online (Sandbox Code Playgroud) 在maxima中,有没有办法为子表达式应用变量替换?例如,替换x+ywith的实例z.
subst 适用于琐碎的案件,但不仅限于此.
(%i92) subst(x + y = foo, x + y);
(%o93) foo
(%i94) subst(x + y = foo, x + y + z);
(%o95) z + y + x
Run Code Online (Sandbox Code Playgroud) 我正在阅读Bergstra 等人的 "Theano:新功能和速度改进" [2012]并且在此上下文中并不理解" 符号 " 的含义(例如,与目录的符号链接):
在Python循环中使用Theano的符号定义实现可防止通过迭代过程进行符号区分,并防止应用某些图优化.将循环完全展开为符号链通常会导致无法管理的大图,并且不允许具有可变迭代次数的"while"式循环.
例如,我有符号值's + 5/2'.有没有办法像's + 2.5'那样显示它?
在我的代码中,我需要将sin(g(t))(g作为连续函数)的所有表达式替换为g(t)(它是紧密角度近似).这是我从代码中获得的一个示例:
-29.4*sin(2*t) - 19.6*sin(f(t)) + 4.0*Derivative(f(t), t)**2
Run Code Online (Sandbox Code Playgroud)
我需要替换这两个sin(f(t))和sin(2*t).不只是其中之一和sin(2*t)变化,(sin(f(t))总是一样的).有没有比为其中的内部添加额外变量更简单的方法sin?
我正在尝试学习python中符号操作的细节(我是初学者).
我有以下基本代码,输出给我一个错误告诉我它"无法将表达式转换为浮点数".
这段代码有什么问题:
from sympy import *
from math import *
def h(x):
return log(0.75392 * x)
x = symbols('x')
hprime = h(x).diff(x)
print(hprime)
Run Code Online (Sandbox Code Playgroud) 我试图采用符号向量和另一个向量的点积.我做了以下事情:
>> rac = sym('rac',[3 1])
rac =
rac1
rac2
rac3
>> i = [1;0;0]
i =
1
0
0
>> dot(rac,i)
ans =
conj(rac1)
Run Code Online (Sandbox Code Playgroud)
但是我期望的结果是rac1.为什么它不像我想要的那样?我如何实现这一输出?