symbolic integration depends on different equivalent forms of function
조회 수: 2 (최근 30일)
이전 댓글 표시
I performed the following equaivalent symbolic integrations:
syms x y
A = int(x+y,x);
A_ = expand(A); % just expanded (equaivalent) form of A
B = expand(int(A,y))
B_ = expand(int(A_,y))
with the following results:
A =
(x*(x + 2*y))/2
A_ =
x^2/2 + y*x
B =
x^3/8 + (x^2*y)/2 + (x*y^2)/2
B_ =
(x^2*y)/2 + (x*y^2)/2
I expect B equal to B_, but there is a misterious additional term x^3/8 at B ??!!
Is that a bug???
댓글 수: 0
답변 (2개)
Torsten
2022년 7월 15일
The difference is a usual "constant of integration".
If you differentiate both B and B_ with respect to y and then with respect to x, you'll arrive at the expression x+y in both cases:
syms x y
B_ = (x^2*y)/2 + (x*y^2)/2;
B = x^3/8 + (x^2*y)/2 + (x*y^2)/2;
A_ = diff(B_,y);
A = diff(B,y);
expr1 = diff(A_,x)
expr2 = diff(A,x)
댓글 수: 7
Torsten
2022년 7월 15일
I'm not surprised that
int((x*(x + 2*y))/2,y)
gives a result different from
int(x^2/2 + y*x,y).
See
syms x
int((x-1)^2,x)
compared to
int(x^2-2*x+1,x)
Paul
2022년 7월 15일
편집: Paul
2022년 7월 15일
I'm not surprised either. I've seen cases where int() couldn't find a solution unless the integrand was manipulated using simplify, expand, etc. Here is an example from this Question
syms t
assume(t, "real")
f1 = 3*t-t*t*t;
f2 = 3*t*t;
f = [f1, f2];
df = diff(f, t);
a = 0;
b = 1;
normDf = sqrt(df(1)*df(1)+df(2)*df(2));
int(normDf,t,a,b) % no solution
normDf = simplify(normDf)
int(normDf, t, a, b) % easy
Michal
2022년 7월 16일
편집: Michal
2022년 7월 16일
댓글 수: 4
Torsten
2022년 7월 16일
편집: Torsten
2022년 7월 16일
syms x y
A1 = int(sin(x)+sin(y),x,0,x);
B1 = int(A1,y,0,y)
simplify(B1)
A2 = int(sin(x)+sin(y),x);
B2 = int(A2,y)
You see, the integration constant of your method is x+y.
All I want to say is:
Each integration gives its individual integration constant. For the differential equation
d/dx (d/dy(F(x,y))) = x+y
e.g., the "integration constants" are functions of the form
G(x,y) = g1(x) + g2(y)
unless you fix F on a curve in the (x,y) plane (not parallel to one of he coordiante axes).
Some integration constants look more plausible, others less.
And now I will be quiet and you can have "the last word", if you want.
참고 항목
카테고리
Help Center 및 File Exchange에서 Calculus에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!