Autor Tema: X>0=1

0 Usuarios y 1 Visitante están viendo este tema.

06 Agosto, 2021, 04:26 pm
Leído 2898 veces

maxland

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 6
  • País: ar
  • Karma: +0/-0
Quisiera saber como obtener esa condición. x>0=1

Sólo cuento con los operadores básicos: + - * / ()
Y las funciones Seno, Coseno, Entero y Raíz Cuadrada

xej: si x=250 el resultado me tiene que dar 1
       si x=1 debe ser 1
       si x=0 debe ser 0

Disculpen si no me expreso bien, es que no soy matemático.
Agradecería que la función resultante fuese lo más reducida posible
Gracias.

06 Agosto, 2021, 04:38 pm
Respuesta #1

franma

  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 1,439
  • País: uy
  • Karma: +2/-0
  • Sexo: Masculino
Buenas maxland,

Primero que todo y por curiosidad, ¿En que ámbito se te presento esta necesidad? Me suena a algo relacionado con programación.

Respecto a tu función entiendo que quieres que te diga cuando un numero es mayor que 0  (devuelve 1) y cuando no lo es (devuelve 0).

Puedes usar por ejemplo \( f(x)=\dfrac{|x|}{x} \) donde \( |x| \) es el valor absoluto de x, también lo puedes representar como \( \sqrt{x^2} \)
El único problema es que esta función devuelve 1 para positivos y -1 para negativos.

Agrego: Para que cumpla las condiciones de 0 y 1 podes usar:

\( g(x)=\dfrac{|x|}{2x}+\dfrac{1}{2} \)

Esta cumple exactamente lo pedido.

Agrego nuevamente:

Me acabo de dar cuenta de un error garrafal :-[.
Ninguna función que presente cumple \( f(0)= \)0, da una indeterminación.

La unica manera que veo de arreglarlo de momento es hacer una función partida, pero creo que ese no era tu objetivo.

Saludos,
Franco.
En ninguna parte puede hallar el hombre un retiro tan apacible y tranquilo como en la intimidad de su alma.

06 Agosto, 2021, 04:52 pm
Respuesta #2

franma

  • $$\Large \color{#5b61b3}\pi\,\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 1,439
  • País: uy
  • Karma: +2/-0
  • Sexo: Masculino
Buenas nuevamente,

Para no seguir agregando cosas al mensaje anterior, también te puede servir una aproximación de la función \( sgn(x)=\dfrac{|x|}{x} \) que es la función que mostré anteriormente.

\( h(x)=\dfrac{x}{\sqrt{x^2+a^2}} \) donde a es un numero real mayor que 0.

Mientras menor sea a mejor será nuestra aproximación a la función deseada.

Saludos,
Franco.
En ninguna parte puede hallar el hombre un retiro tan apacible y tranquilo como en la intimidad de su alma.

06 Agosto, 2021, 04:59 pm
Respuesta #3

Juan Pablo Sancho

  • Moderador Global
  • Mensajes: 6,261
  • País: es
  • Karma: +0/-0
  • Sexo: Masculino
Toma \(  f(x) = x+|x|  \) para los valores no positivos.

06 Agosto, 2021, 06:43 pm
Respuesta #4

maxland

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 6
  • País: ar
  • Karma: +0/-0
En principio no se utilizarían números negativos. Pero siempre es bueno ya tenerlo resuelto en caso que en algún momento se utilicen...

Efectivamente es programación de un CNC de varios años.

La idea surge a partir que no tengo condicionales, por lo cual si la variable toma el valor 0 los orificios no se harían pero si toma cualquier otro valor (positivo, puesto que serían medidas) debería hacerlos...

Por lo cual tenemos que X=0 => 0 X>0 =1 (Binario (0 y 1): Lo hace/No lo hace).

La consigna sería: Si tiene medida, entonces agujerear!!!

Espero haber sido explícito. Muchas Gracias!!!

06 Agosto, 2021, 06:57 pm
Respuesta #5

mathtruco

  • Moderador Global
  • Mensajes: 5,552
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
Hola maxland. No me quedó del todo claro, pero voy a responder de acuerdo a lo que entendí.

(...)

xej: si x=250 el resultado me tiene que dar 1
       si x=1 debe ser 1
       si x=0 debe ser 0

(...)

Si necesitas una función que cumpla eso la más simple que se me ocurre es un polinomio. Como tienes 3 condiciones, el polinomio debe ser de grado 2:

    \( p(x)=a_0+a_1x+a_2x^2 \).

Como \( p(0)=0 \), entonces \( a_0=0 \), y por tanto el polinomio tiene la forma

    \( p(x)=a_1x+a_2x^2 \).

Como sabemos que \( p(250)=1 \) y \( p(1)=1 \), reemplazando obtenemos:

    \( a_1+a_2=1 \)
    \( 250a_0+62500a_2=1 \)

y resolviendo el sistema obtenemos \( a_1=251/250 \) y \( a_2=-1/250 \), por lo que el polinomio buscado es:

    \( p(x)=\dfrac{251}{250}x-\dfrac{1}{250}x^2 \).

Por supuesto, el \( x^2 \) lo puedes escribir como \( x\cdot x \).

¿Te sirve la respuesta?

Una pregunta

Quisiera saber como obtener esa condición. x>0=1


¿Qué es x>0=1? En símbolos matemáticos no tiene sentido, así que ¿Qué querías escribir con eso?


P.D. El polinomio  \( p(x)=\dfrac{251}{250}x-\dfrac{1}{250}x^2 \)   es una parábola que abre hacia abajo que cumple

    \( p(0)=0 \),  \( p(1)=1 \).  \( p(250)=1 \).

El polinomio toma el valor 1 sólo en \( x=1 \) y \( x=250 \), pero toma el valor \( 0 \) en dos puntos: en \( x=0 \) y otro punto cerca y la derecha de \( x=250 \), no sé si es lo que buscabas



06 Agosto, 2021, 08:40 pm
Respuesta #6

maxland

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 6
  • País: ar
  • Karma: +0/-0
Voy a tratar de clarificar mejor...

Necesitaría una función que resuelva:

Para cualquier valor igual a 0, el resultado sea 0
Para cualquier valor distinto de 0 el resultado sea 1
Siempre hablando de números positivos

Ejemplo:
Valores 127, 352, 8, 1250, 1, 3, etc. (distinto de 0) el resultado sea 1
Valor 0 el resultado sea 0

A ver... la primera idea que surge es dividir el número por si mismo... 127/127=1, 249/249=1, pero 0/0 no se puede, al menos con las operaciones básicas...

Por otro lado, la complicación viene dada porque solo cuento con:
Suma, resta, multiplicación, división, paréntesis, seno, coseno, entero y raíz cuadrada...

06 Agosto, 2021, 08:46 pm
Respuesta #7

maxland

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 6
  • País: ar
  • Karma: +0/-0
Yo logré una función que es:

Entero(X/(X+1)+0.5)

Pero si se podía encontrar alguna más reducida que ésta...

Disculpen la desprolijidad, pero intento y no logro utilizar la notación matemática para expresar la función... :banghead:

06 Agosto, 2021, 09:01 pm
Respuesta #8

mathtruco

  • Moderador Global
  • Mensajes: 5,552
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
Creo que vas por buen camino, pero la expresión

    \( \dfrac{x}{x+1}+0.5 \)

a veces da mayor que uno y a veces menor que uno. Por eso tu fórmula no es correcta.

Supongo que la función Entero devuelve la parte entera. Normalmente uno dispone de dos funciontes parte entera: floor y ceiling (link a wikipedia). Por ejemplo:

    floor(1.9)=1,  ceiling(1.9)=2
    floor(2.1)=2,  ceiling(2.1)=3

Si dispones de ambas, la fórmula que buscas es:

    \( \textrm{ceiling}\left(\dfrac{x}{x+\textrm{tol}}\right) \)

donde tol es cualquier número positivo, por ejemplo tol=0.5.

Nota que para \( x \) positivo la expresión \( \dfrac{x}{x+\textrm{tol}} \) cumple

     \( 0\leq\dfrac{x}{x+\textrm{tol}}<1 \)

y el único caso donde es igual a cero es cuando \( x=0 \), por lo que para \( \neq 0 \) la expresión será un número mayor estricto que cero y menor estricto que uno, por lo que "celiling" de ese número será uno.


06 Agosto, 2021, 09:10 pm
Respuesta #9

Abdulai

  • Moderador Global
  • Mensajes: 2,871
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
...
Efectivamente es programación de un CNC de varios años.

La idea surge a partir que no tengo condicionales, por lo cual si la variable toma el valor 0 los orificios no se harían pero si toma cualquier otro valor (positivo, puesto que serían medidas) debería hacerlos...
...
¿Qué marca y modelo de CNC es?  Es extraño que permita programación paramétrica y no tenga condicionales  :(