Strange behaviour of simplify
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Maximilian Schönau
am 4 Mai 2020
Kommentiert: Star Strider
am 4 Mai 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 Kommentare
Akzeptierte Antwort
Star Strider
am 4 Mai 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 Kommentare
Star Strider
am 4 Mai 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.
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Assumptions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!