Why simple expression is not simplified (Symbolic Toolbox)?

Quite simple code
syms a b
assume(a,'real');
assume(b,'real');
simplify((-1)^a*(b-1)^a)
The answer is obviously (1-b)^a, but Matlab does not simplify it? Why? How to make it work?
Thank you!

 Accepted Answer

That is not a correct solution.
Let b = -31, let a = 3/5
simplify((1-(-31))^(3/5));
8
simplify((-1)^(3/5)*((-31)-1)^(3/5));
(1/5)
-8 (-1)
evalf(%);
-6.472135955 - 4.702282018 I

2 Comments

But what assumption should I provide to Matlab to make this simplified to (1-b)^a?
I am not sure. The obvious ones do not work.

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!