Why does x(x+y) dy give a x^3 component?
1 view (last 30 days)
Show older comments
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 Comments
Bob Thompson
on 26 Feb 2020
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.
Accepted Answer
Koushik Vemula
on 2 Mar 2020
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)
More Answers (0)
See Also
Categories
Find more on Linear Algebra in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!