Matlab的符号数学工具箱无法评估简单的积分



我想在Matlab:中象征性地计算这个积分

syms z mu t k
f(z,mu) = exp(-(z-mu)^2);
a(t,k) = exp(-t/k);
int(f(z,mu)*a(t-z,k),z,[0,t])

但是Matlab无法评估结果。Mathematica可以很容易地计算出这个积分。我无法通过MatLink将Mathematica中的术语发送到Matlab,所以我决定在Matlab中完成所有操作。有办法计算这个积分吗?我不想用数字来做这件事,因为这比符号积分然后给它输入要慢。

编辑

给出的答案适用于上面的例子,但不适用于这个例子:

syms z mu t k del
f(z,mu) = exp(-((z-mu)/del)^2);
a(t,k) = exp(-t/k);
int(f(z,mu)*a(t-z,k),z,[0,t])

我把指数函数中的CCD_ 1除以符号变量CCD_。

首先简化表达式,然后它就能工作

clear all
syms z mu t k
f(z,mu) = exp(-(z-mu)^2);
a(t,k) = exp(-t/k);
int(simplify(f(z,mu)*a(t-z,k)),z,[0,t])

ans

-(pi^(1/2)*exp(-t/k)*exp(1/(4*k^2))*exp(mu/k)*
           (erf(mu - t + 1/(2*k)) - erf(mu + 1/(2*k))))/2

Matlab 2015a,windows 7

最新更新