Rincón Matemático

Disciplinas relacionadas y temas generales => Computación e Informática => Mensaje iniciado por: mg en 13 Abril, 2021, 05:37 pm

Título: Funciones lógicas matlab
Publicado por: mg en 13 Abril, 2021, 05:37 pm
¿Cómo hago para escribir una función que devuelva un valor lógico en matlab?

Hice la siguiente función para determinar si dos rectas son paralelas, me piden que devuelva un valor lógico.

function[boolean]=rectas(a,b,c,d)
if a==b;
    boolean=1;
else boolean=0;
end

Devuelve 1 o 0 pero creo que en su carácter númerico solo.

Un saludo.
Título: Re: Funciones lógicas matlab
Publicado por: manooooh en 13 Abril, 2021, 06:00 pm
Hola

Según entiendo, en la mayoría de los lenguajes de programación de base, es decir los que no tienen librerías adicionales, no existe la categoría "bool" como tal. En general True es 1 y False es 0.

En C por ejemplo cuando evalúas una expresión sin preguntar explícitamente por la condición, por ejemplo if (esMayor) donde esMayor es un int, es una forma abreviada de if (esMayor==1), así que tiene sus ventajas.

Saludos
Título: Re: Funciones lógicas matlab
Publicado por: Diego Andrés en 13 Abril, 2021, 06:55 pm
En cualquier lenguaje puedes declarar variables booleanas (true/false).
Y creo que en la mayoría de lenguajes tendrás por defecto que cualquier variable que tenga asignado un "0" o "nada/vacío" es falso también.

Pero no siempre es posible asignar "tipos" de variable como booleanos porque está implícito en lo que comenté arriba por lo cual es innecesario, aunque en algunas bases de datos ya es posible asignar/guardar valores como booleanos.

En tu pregunta, pues puedes declarar true o false en lugar de 1/0.

Saludos.
Título: Re: Funciones lógicas matlab
Publicado por: mg en 13 Abril, 2021, 10:19 pm
Gracias a ambos. Diego, tal y como has dicho, declarando true y false en lugar de 1 y 0, ahora si me devuelve un valor lógico.

Un saludo.
Título: Re: Funciones lógicas matlab
Publicado por: DaniM en 14 Abril, 2021, 03:00 pm
En cualquier lenguaje puedes declarar variables booleanas (true/false).

No en todos. Por ejemplo, C no tiene tipos booleanos per se, los tienes que importar usando #include<stdbool.h>, aunque puedes emular operaciones booleanas con números, siendo 0 interpretado como 'falso' y cualquier otro número, como 5463, como 'true'.

https://stackoverflow.com/questions/1921539/using-boolean-values-in-c (https://stackoverflow.com/questions/1921539/using-boolean-values-in-c)