Why simple expression is not simplified (Symbolic Toolbox)?

1 visualizzazione (ultimi 30 giorni)
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!

Risposta accettata

Walter Roberson
Walter Roberson il 15 Giu 2018
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 Commenti
Alex
Alex il 15 Giu 2018
But what assumption should I provide to Matlab to make this simplified to (1-b)^a?
Walter Roberson
Walter Roberson il 15 Giu 2018
I am not sure. The obvious ones do not work.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by