symbolic integration depends on different equivalent forms of function
    7 views (last 30 days)
  
       Show older comments
    
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 Comments
Answers (2)
  Torsten
      
      
 on 15 Jul 2022
        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 Comments
  Torsten
      
      
 on 15 Jul 2022
				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
      
      
 on 15 Jul 2022
				
      Edited: Paul
      
      
 on 15 Jul 2022
  
			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
      
 on 16 Jul 2022
        
      Edited: Michal
      
 on 16 Jul 2022
  
      
      4 Comments
  Torsten
      
      
 on 16 Jul 2022
				
      Edited: Torsten
      
      
 on 16 Jul 2022
  
			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.
See Also
Categories
				Find more on Calculus 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!
