22、科学编程与优化:Julia 中的技术与应用

科学编程与优化:Julia 中的技术与应用

1. 符号求导与自动求导

在科学编程中,求导是一项重要的操作。可以使用 differentiate 函数输出导数的符号版本,例如:

julia> differentiate("sin(x)*cos(x)", :x)
:((1 * cos(x)) * cos(x) + sin(x) * (1 * -(sin(x))))

使用 simplify 函数可以对结果进行一定程度的简化:

julia> simplify(differentiate("sin(x)*cos(x)", :x))
:(cos(x) * cos(x) + sin(x) * -(sin(x)))

这些技术不仅适用于单变量函数,对于多变量函数同样有效:

julia> simplify(differentiate("x*exp(-x)*sin(y)", [:x, :y]))
2-element Array{Any,1}:
:(1*exp(-x)*sin(y) + x*(-1*exp(-x)) * sin(y) + x*exp(-x)*0)
:(0*exp(-x)*sin(y) + x*0*sin(y) + x*exp(-x)*(1*cos(y)))

这里得到了一个对应偏导数的二维数组,并且可以忽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值