2010-10-05 15 views
16

Esta es una de las cosas que siempre me ha molestado acerca de Matlab. Entiendo por qué las matrices comienzan en 1 y no en 0 como en cualquier otro lenguaje de programación, pero ¿por qué es !=~= en Matlab?¿Por qué no está representado igual por ~ = en Matlab?

+4

¿Por qué el cielo está representado por rojo en Marte? Porque es Marte, y no la Tierra. – nilamo

+0

Es posible que desee escribir "como en la mayoría de los otros lenguajes de programación". Otro lenguaje que comienza a indexar en 1 que me viene a la mente es LUA. – Jonas

+0

Curiosamente, Octave, que es el clon de código abierto de Matlab, sí acepta! = (Además de ~ =), así como! X (además de ~ x). –

Respuesta

17

El carácter tilde (~) generalmente se usa como el operador NOT bit a bit.
Como el! el carácter está reservado para otro uso (comando del SO), supongo que no es una mala elección.

10

En la lógica matemática ~ es una manera antigua de escribir ¬

2

En tilde lógica puede significar "no", lo que puede resultar confuso como en matemáticas tilde puede ser "equivalencia" o "aproximadamente". Sin embargo, se encuentra en más teclados que en los menos ambiguos ¬. Tenga cuidado, ya que tilde también puede significar a nivel de bit no :)

+0

Muchas gracias a todos por sus respuestas. Todos responden mi pregunta por alguna parte, entonces, ¿qué debo hacer? ¿Puedo marcar todas las respuestas como "respondidas"? – Ingo

+4

@Ingo. Elija lo que le parezca más completo. En un empate, elija cuál de las respuestas empatadas fue la más temprana. Si todavía estás atascado, solo elige a quien creas que tenga la mejor foto (esta es la cantidad de votos en las elecciones). Si todavía está atascado; escriba un generador de números pseudoaleatorios, pruebe su calidad contra las pruebas de seguridad de NIST, mejore hasta que pase, escriba un documento sobre un descubrimiento matemático que haya realizado, reciba un pequeño pero prestigioso premio por su contribución al estado de el arte, y luego use el PRNG para elegir una respuesta. Bueno, eso o simplemente escoger uno arbitrariamente. –

+0

en un desempate, ve por la persona con el representante más bajo! –

0

¿Por qué .not..eq. representada por ~=? Por la misma razón que no está representado como =!= o /= o cualquiera de las ciento otras convenciones utilizadas en los lenguajes de programación.

Y el twiddle, o ~, es ampliamente usado en textos lógicos para significar NOT.

Cuestiones relacionadas