simplify symbolic expression with complex, square, sqrt. & Assume commutation in Matlab
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lingling Fan
el 14 de Mayo de 2019
Comentada: Lingling Fan
el 14 de Mayo de 2019
Hi team
I find some symbolic expression can't be simplified by the simplified by matlab function.
Like this, the long symbolic expression (A ^2)^{1/2} is actually A squared then sqrt. When sqrt operates on the outside, it should return A.
But it didn't simplify this part.
Is it because of A*B \=B*A? Should we assume commutation between symbols?
How could we assume the commutation? Any example would help a lot! Thanks in advance.
0 comentarios
Respuesta aceptada
Walter Roberson
el 14 de Mayo de 2019
(A ^2)^{1/2} Should not return A.
For real values it could return abs(A)
For complex values, A^2 might be a different branch. For example -2i squared is -4 and square root of that is 2i.
3 comentarios
Walter Roberson
el 14 de Mayo de 2019
syms Areal real
syms Apositive positive
>> simplify(sqrt(Areal^2))
ans =
abs(Areal)
>> simplify(sqrt(Apositive^2))
ans =
Apositive
>> sqrt((-1-i)^2)
ans =
1 + 1i
>> syms Areal Aimag positive
>> simplify(sqrt((Areal+1i*Aimag)^2))
ans =
Areal + Aimag*1i
simplify() does what it can taking into account assumptions. If you had an assumption that A was positive then it would have resolved the sqrt.
Más respuestas (0)
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!