Why does x(x+y) dy give a x^3 component?
조회 수: 1 (최근 30일)
이전 댓글 표시
syms g(x,y) x y
g(x,y) = 2*x+y;
gx = int(g, x);
int(gx, y)
The function gx becomes x*(x+y), so far so good. But int(gx, y) returns:
(x*(x + y)^2)/2
- which has a x^3 component in x*(x+y)^2. How could this happen?
doc int
The documentation refers me to the sym page, which does not mention "int" or "diff". Integration works fine for g(x,y)=y, but I've not tested much else.
Thanks.
댓글 수: 2
Bob Thompson
2020년 2월 26일
It seems to be an issue with factoring. If you expand gx into x^2 + x*y and conduct the integration you get (x*y*(2*x + y))/2, which my fading memory of integration says is correct.
채택된 답변
Koushik Vemula
2020년 3월 2일
Both answers are correct.
d/dy[ x*(x+y)^2/2 ] = d/dy[ (x^3)/2 + x^2*y + y^2*x/2 ] = x*(x + y)
d/dy[ x*y*(2*x+y))/2 ] = x*(x + y)
The ambiguity lies in the constant of integration. In the first case the constant of integration ends up being (x^3)/2.
If you really want to enforce that the constant of integration is zero then do:
int(gx,y,0,y)
In other words
int(x*(x+y),y,0,y)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Number Theory에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!