Simplify symbolic division abs(Z)/Z
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
In a symbolic expression with syms Z complex, Matlab does not simplify simplify(abs(Z)^2/Z) to conj(Z) but it simplifies simplify(abs(Z)^2/conj(Z)) to Z. Is it possible to make sure that simplify(abs(Z)^2/Z) yields conj(Z)? I'm working with R2023b. Thanks!
0 comentarios
Respuestas (2)
Torsten
el 2 de Nov. de 2023
Editada: Torsten
el 2 de Nov. de 2023
Use z*z' instead of abs(z)^2:
syms z
u = z*z'/z
Walter Roberson
el 3 de Nov. de 2023
syms z
syms zr zi real
u = abs(z)^2/z
us = simplify(subs(u, z, zr + 1i*zi))
After which you would need to substitute conj(z) for zr-zi*1i
However it is probably easiest to do something like
syms z
u = abs(z)^2/z + 5*z^2 - 3*z + 2
subs(u, abs(z)^2/z, conj(z))
If you have something more complex, where you have the general pattern abs(EXPRESSION)^2/EXPRESSION then you could proceed by using mapSymType ... but it does get complicated if you have terms such as (x*abs(x + y)^2)/(y*(x + y)) then it can be complicated to properly detect a match.
0 comentarios
Ver también
Categorías
Más información sobre Linear Algebra en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!