2011-02-02 22 views
6

Tengo variables que son de tipo double Quiero que sean float. ¿Hay alguna manera de forzar que una variable sea float y no doble? También, ¿hay alguna forma de hacerlo globalmente para todas las funciones y subfunciones con pocas líneas al inicio de la función principal? Tengo muchas funciones y usan muchas variables temporales y crean las variables que devuelven. Revisar todas mis funciones y cambiarlas será muy difícil.Tipo de variable de forzado en MATLAB

Mi racional para esta solicitud:

estoy escribiendo el programa MATLAB para simular un algoritmo que a continuación voy a implementar en hardware, que quiere asegurarse de que el uso de 32 bits como el tamaño de mis señales no causará errores de cálculo.

+2

Hmmm ... "type-casting" es posible en Matlab. Ver http://www.mathworks.com/help/techdoc/ref/typecast.html. No estoy seguro de aplicarlo globalmente, pero este tipo de sonido podría ayudar http://www.mathworks.com/help/techdoc/matlab_oop/br2vkky.html. También http://www.mathworks.com/help/techdoc/matlab_oop/brglmxp.html –

Respuesta

6

Usando B=single(A) según lo sugerido por @cbz, o matrices que definen como SINGLE, como llamando B=zeros(3,3,'single') crea "flota" en Matlab.

No hay forma de convertir globalmente Matlab en un entorno "flotante". Aunque la mayoría de las funciones de nivel inferior se implementan también para single (con algunas excepciones, por ejemplo las mencionadas en la ayuda al DOUBLE), muchas funciones integradas de alto nivel solo funcionarán con double.

En otras palabras, tendrá que definir manualmente sus variables como single, deberá comprobar periódicamente que las variables no se hayan convertido silenciosamente a double, y al final, su código podría no funcionar si necesita una función que no está implementada para single todavía.

4

El equivalente de MATLAB en 'float' es 'single. Puede convertir utilizando

B = single(A). 

Dicho esto, su suposición de que esto equivale a 32 bits podría necesitar una nueva visita. No es tan simple como eso.

Cuestiones relacionadas