Matlab的符号数学工具箱无法评估简单的集成

时间:2015-03-16 11:48:45

标签: matlab symbolic-math

我想在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])

我将指数函数(z-mu)除以符号变量del

1 个答案:

答案 0 :(得分:4)

首先简化表达式,然后运行

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])

-(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