sábado, 28 de enero de 2017

¿Qué es el diferencial de un coche?

El diferencial no es más que un elemento mecánico que permite que las ruedas de un mismo eje de un coche giren a distinta velocidad cuando éste toma una curva. Está formado por engranajes.

Pero para ver como funciona os dejo este vídeo explicativo muy bueno.


viernes, 27 de enero de 2017

Funciones definidas a trozos en MATLAB

Hoy voy a hablar de una cosa que es muy pero que muy tonta pero que no sabía hacer y tuve que buscar en Internet:

Como representar funciones definidas a trozos en MATLAB.

Primero tenemos que hablar de los operadores lógicos. Ahora vamos a usar el concepto de que 'true'=1 y 'false'=0. Si tenemos en una ecuación una desigualdad que está multiplicando algo y si ésta desigualdad es verdad (porque se cumple) entonces ésta genera una valor 'true' y por lo tanto lo que multiplica esta desigualdad será multiplicado por '1'. Mientras que si la desigualdad no se cumple entonces nos devolverá un valor 'false' que es igual a '0' y por lo tanto todo lo que esté multiplicando a la desigualdad desaparecerá.

Después de esta pequeña introducción vamos a ver como hacerlo, el código es muy simple.
Primero debemos definir un variable que vamos a usar como abscisa, para ello usaremos un paso de 0,1. Esta variable la definimos en un intervalo por ejemplo 0 y 10. Por lo tanto tenemos que escribir la siguiente línea de código:

x = 0:0.1:10; (el formato es: comienzo_intervalo:paso:fin_intervalo)

Luego tenemos que definir la función a trozos que vamos a representar. En este caso representaremos ésta:


Para ello vamos a usar los operadores lógicos. Una cosa que hay que mencionar antes es que entre los operadores lógicos y la función hay que usar .* para que no se produzca ningún error:

f=(x<=1).*(-x+1)+(x>1).*log(x);

Ya sólo queda usar el comando para poder representar la función:

plot(x,f);

De tal forma que usando las siguientes líneas de código,

x = 0:0.1:10 ;
f = (x<=1).*(-x+1)+(x>1).*log(x) ;
plot(x,f) ;
grid on
xlabel('x')
ylabel('f(x)')

Obtenemos:


Como podemos observar cuando x<=1 sólo aparece el término -x+1 mientras que cuando x>1 sólo esta el término log(x).