Strange behaviour of simplify
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Maximilian Schönau
el 4 de Mayo de 2020
Comentada: Star Strider
el 4 de Mayo de 2020
Hello, when solving a math Problem today i noticed a strange behaviour of simplify and I cannot explain myself what I did wrong. Basically I do have two terms and want to compare if they are equal, but Matlab returns false, altough they actually are. Is there a syntax thing I did false?
syms a b c t
f1 = sqrt((a^2+b^2+c^2)/3) / t;
f2 = sqrt(((a/t)^2+(b/t)^2+(c/t)^2)/3);
pretty(simplify(f1==f2))
Here you can see, that both expressions are equal, but Matlab returns false:
logical(simplify(f1==f2))
0 comentarios
Respuesta aceptada
Star Strider
el 4 de Mayo de 2020
syms a b c t
f1 = sqrt((a^2+b^2+c^2)/3) / t;
f2 = sqrt(((a/t)^2+(b/t)^2+(c/t)^2)/3);
pretty(simplify(f1==f2, 'Steps',500))
equalityTest = isAlways(f1 == f2)
here:
equalityTest =
logical
0
and:
Warning: Unable to prove '(a^2/3 + b^2/3 + c^2/3)^(1/2)/t == (a^2/(3*t^2) + b^2/(3*t^2) +
c^2/(3*t^2))^(1/2)'.
.
2 comentarios
Star Strider
el 4 de Mayo de 2020
As always, my pleasure!
You can set conditions in the syms call, for example:
syms a b c t positive real
f1 = sqrt((a^2+b^2+c^2)/3) / t;
f2 = sqrt(((a/t)^2+(b/t)^2+(c/t)^2)/3);
pretty(simplify(f1==f2, 'Steps',500))
equalityTest = isAlways(f1 == f2)
however that does not change the ‘equalityTest’ result.
Más respuestas (1)
Ver también
Categorías
Más información sobre Assumptions 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!