Why am I unable to integrate the HEAVISIDE function symbolically in certain forms using the Symbolic Math Toolbox 3.1 (R14)?
13 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2013 年 10 月 18 日
回答済み: MathWorks Support Team
2013 年 10 月 29 日
The ability of the INT function to find an explicit solution sometimes depends on the order in which a multiplication is presented. I enter the following code:
clear all
syms t x
f = heaviside(x)*heaviside(t-x);
g= int(f,x,-Inf,Inf)
and receive the expected output:
g =
t-heaviside(-t)*t
However, when I enter the following code:
clear all
syms t x
f = heaviside(t-x)*heaviside(x);
g = int(f,x,-Inf,Inf)
I receive the following warning message:
Warning: Explicit integral could not be found.
In sym.int at 58
g = int(heaviside(t-x)*heaviside(x),x = -Inf .. Inf)
採用された回答
MathWorks Support Team
2013 年 10 月 18 日
This issue is a bug in the Maple kernel that Symbolic Math Toolbox 3.1 (R14) uses to perform symbolic integration. Maple does not recognize the second integrand expression as satisfying the formula it uses to calculate the first integral.
Adding a call to the SIMPLIFY function to the end of the code will return the correct result, as shown in the following example:
clear all
syms t x
f = heaviside(t-x)*heaviside(x);
g = int(f,x,-Inf,Inf)
h=simplify(g)
Note:
This solution is is applicable to releases of MATLAB before MATLAB 7.5 (R2007b). The computation engine used for the Symbolic Math Toolbox has since changed.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Assumptions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!