julia中微积分的表达式操作

julia中微积分的表达式操作,julia,Julia,我目前正在尝试朱莉娅关于符号表达的一些功能。来自Matlab,我在文档中搜索了一些符号,但几乎没有成功,直到我找到了一些关于expr=:()符号的信息 我首先声明了我的第一个函数:fun1=:(1-x),它工作得很好。但是,我需要在以后重用我的表达式或对它的操作 在搜索了一点之后,我仍然没有找到一种方式来表示,例如fun2=-fun1。一旦表达式被声明,如何操作它们 EDIT我的示例语句有点限制,另外一种情况是使用预先声明的表达式构造表达式数组,如exprarray=[fun1 0-2*fun2

我目前正在尝试朱莉娅关于符号表达的一些功能。来自Matlab,我在文档中搜索了一些符号,但几乎没有成功,直到我找到了一些关于
expr=:()
符号的信息

我首先声明了我的第一个函数:
fun1=:(1-x)
,它工作得很好。但是,我需要在以后重用我的表达式或对它的操作

在搜索了一点之后,我仍然没有找到一种方式来表示,例如
fun2=-fun1
。一旦表达式被声明,如何操作它们


EDIT我的示例语句有点限制,另外一种情况是使用预先声明的表达式构造表达式数组,如
exprarray=[fun1 0-2*fun2+3]
可以使用
$
插入表达式:

julia> fun1 = :(1-x)
:(1 - x)

julia> fun2 = :(-$fun1)
:(-((1 - x)))
编辑

这同样适用于阵列:

julia> exprarray = :([$fun1 0 -2*$fun2+3])
:([1 - x 0 -2 * -((1 - x)) + 3])

谢谢你的回答,我知道它适用于字符串,但我认为我低估了字符串和表达式之间的联系,因为在matlab符号数学中,字符串是非常不同的东西。你能看看我的编辑吗?声明
exparray
的正确方法是什么?我在回答中添加了它谢谢。阵列上的解决方案运行良好,只是我无法区分它,即使是广播。我错过了什么?例如,使用
dexp=differention.(exprarray,:x)
给定问题的标题,您是否意识到如果您的目标是执行微分,则不需要操纵表达式?参见ForwardDiff.jl和zyote.jl。@tholy。老实说,朱莉娅对我很陌生。我和julia一起尝试了微积分工具进行一些小的有限元计算,我需要能够微分或积分插值多项式。如果你有什么建议,我洗耳恭听我不能评论你的具体申请。尝试这些软件包中的示例,然后创建一些您自己的类似示例;一旦你们看到了它的工作原理,你们就会更好地意识到这是一个有限元计算的特殊问题,还是一个更一般的问题,并了解如何使用这些工具。