How to know which elements of a symbolic vector are real?

1 次查看(过去 30 天)
I have this sym vector:
c = -(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 1)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 1)^2 + 974025000000000)^(1/2))/26887350
(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 1)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 1)^2 + 974025000000000)^(1/2))/26887350
-(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 2)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 2)^2 + 974025000000000)^(1/2))/26887350
(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 2)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 2)^2 + 974025000000000)^(1/2))/26887350
-(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 3)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 3)^2 + 974025000000000)^(1/2))/26887350
(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 3)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 3)^2 + 974025000000000)^(1/2))/26887350
-(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 4)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 4)^2 + 974025000000000)^(1/2))/26887350
(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 4)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 4)^2 + 974025000000000)^(1/2))/26887350
-(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 5)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 5)^2 + 974025000000000)^(1/2))/26887350
(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 5)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 5)^2 + 974025000000000)^(1/2))/26887350
-(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 6)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 6)^2 + 974025000000000)^(1/2))/26887350
(179249^(1/2)*(634751*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 6)^4 - 45299238750*root(z^6 - (58169238750*z^4)/634751 + (130018668750000*z^2)/48827 - 1184625000000000000/48827, z, 6)^2 + 974025000000000)^(1/2))/26887350
Is it any easy (coded) way I can know which elements are real and which aren't?

回答(2 个)

Gautam
Gautam 2025-2-11
Hello Renzo,
To determine which elements of a symbolic vector are real, you can use the isAlways function in conjunction with the isreal condition. This approach checks whether each element of the symbolic vector is always real under all assumptions.

Walter Roberson
Walter Roberson 2025-2-11
 c(imag(c)==0)

类别

Help CenterFile Exchange 中查找有关 Assumptions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by