symbolic integration depends on different equivalent forms of function
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (2)
Torsten
el 15 de Jul. de 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 comentarios
Torsten
el 15 de Jul. de 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
el 15 de Jul. de 2022
Editada: Paul
el 15 de Jul. de 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
el 16 de Jul. de 2022
Editada: Michal
el 16 de Jul. de 2022
4 comentarios
Torsten
el 16 de Jul. de 2022
Editada: Torsten
el 16 de Jul. de 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.
Ver también
Categorías
Más información sobre Calculus en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!