Red de Respuestas Legales - Derecho empresarial - Con respecto a las funciones raíz y polival en matlab, gracias ~

Con respecto a las funciones raíz y polival en matlab, gracias ~

Los números de coma flotante no se pueden representar con precisión en las computadoras, porque las computadoras usan representación binaria, como 0,1, y en realidad necesitan almacenar una cantidad infinita de dígitos binarios (ha aprendido el método de multiplicar dos por dos, redondear y representar decimales en el base de computadoras. ), por lo que los recursos informáticos son limitados, por lo que esto no es posible. Entonces, para los números de coma flotante, solo hay precisión (simple/doble), es decir, solo se retiene un número limitado de dígitos binarios. Esta es la fuente del error.

Pregunta 1) Puedes llamar a real(ans) para mantener solo la parte real y eliminar la parte imaginaria.

Pregunta 2) Según la pregunta 1, incluso si se llama a real, solo se retiene la parte real, de modo que el resultado de las raíces se ve como -1.0000, y el resultado de llamar a polival aún no será 0 . Esto se debe a que el resultado de la visualización de Matlab solo muestra un número limitado de decimales. Parece -1.0000, pero en realidad puede ser -1.0000000000000091, por lo que el uso de polival solo obtendrá un número suficientemente pequeño (aquí tiene 65438+). Y llamar a polival con [-1 -1 -1] obtendrá 0, porque -1 es un número entero exacto.