revanflow
Usuario (Argentina)

Hola, si seguís con atención el post, podés realizar cálculos de física cuántica (no, con matemática moderna, pero vale. Es fundamental saber que es una onda y sus propiedades, como numero de onda, frecuencia, amplitud, para mas info visite esta pagína de >>wikipedia (ver en la parte de elementos de onda) <<. En otras palabras te muestro los cálculos, pero hay toda una teoría que se desarrolló por lo menos en dos décadas que no voy a postear, porque se hace aburrido, es mucho trabajo y nadie lo va a leer, en fin... tenemos que saber un poco de Números complejos: Como todos sabemos, existen los números reales entre ellos los racionales e irracionales. Por ejemplo: √4 tiene solución un número entero, √3 tiene solución un número irracional o 2/4 tiene como solución un número fraccional. Pero si tenemos √-1 no encontramos solución en nuestros conjuntos, por lo tanto se inventó otro que si dá solución y es el conjunto de los complejos que a la vez abarca a todos los demás números. o mejor dicho: √-1 = i => √-n = √[n(-1)] = √n.√-1 = √n.i Un número complejo tiene parte real e imaginaria, es como un vector de dos dimensiones, un vector de dos dimensiones tiene componentes x e y, o sea: x = 2, y = 3: De forma análoga se puede representar al número complejo como a un vector. Si definimos a Z como número C con parte real e imaginaria tenemos: z = a + bi = (a;b) Acá el real es a y el imaginario es b. Del gráfico de arriba el número C lo representa la flechita que apunta hacia arriba y el opuesto, o sea lo que apunta hacia abajo es su complejo conjugado. Qué es el complejo conjugado? Nada, el complejo conjugado tiene la misma parte real y sus partes imaginarias son opuestas. Definiendo: También hay que saber hacer Derivadas parciales Una función se puede representar en términos de sus variables, por ejemplo, f(x) donde f es en función de x , f(x,y) es en función de x y de y. Cuando se deriva una función, se deriva parcialmente porque no se puede derivar la función en función de x y de t, se deriva de x o de t. Matemáticamente las funciones periódicas se representan en términos de la posición de una partícula / ente y el tiempo, una función que representa la posición en coordenadas tridimensionales y el tiempo de una partícula / ente suele escribirse de la siguiente forma: f(x,y,z,t). Se dice que con esta función se conoce todo acerca de la partícula / ente. Las derivadas de estas funciones se denotan con la letra Jacobiana ∂ Escribí "ente" porque las partículas muy pequeñas tambien actúan de forma ondulatoria, entonces son partículas pero no actúan como un punto que se puede representar en un plano (como en la mecánica de Newton) porque presentan propiedades ondulatorias. Ejemplo: ¿Ves como derivé en función de una e ignore la otra? Bueno eso es derivar parcialmente, se usa en las ecuaciones de la mecánica cuántica. OK, sigamos. La función de onda: La función de onda se la representa como describe la distribución de encontrar una partícula en el espacio. Si queremos conocer la posición de una partícula subatómica tendremos incertidumbre porque el tamaño de estas son muy pequeñas y existen ciertas invarianzas. Existen dos ecuaciones que fueron las primeras y por eso las más importantes: La ecuación de Shrodinger: La ecuación de Dirac: La segunda ecuación devela la existencia de la antipartícula del electron, el positrón, pero por ahora no nos interesa, vamos a realizar algunos cálculos con la primera. Como se llega a la ecuación de Schrondinger? Hay que prestar mucha atención en como se desarrolla esto, mirá: Una ecuación mecánico-cuántica de onda debe cumplir con cuatro condiciones 1. Deberá ser coincidente con los postulados de de Broglie-Einstein. y 2. Deberá ser coincidente con la ecuación 3. Deberá ser lineal en Ψ(x,t). Si existen dos soluciones de Ψ(x,t), por ejemplo: y Tendríamos: 4. La energía potencial U generalmente es una función de x y posiblemente de t. Sim embargo, existe un caso especial importante cuando una partícula se encuentra en estado definido de energía, en otras palabras su energía no cambia. Utilizando las relaciones de de Broglie-Einstein de la suposición 1, para escribir la ecuación de energía de la suposición 2 en términos de λ y v (frecuencia), se obtiene: Introduciéndolas se obtiene la ecuación (*) donde Para la función de onda se utiliza la siguiente expresión: Con esta ecuación podemos cumplir con el 4 requisito, debe cumplir que sea lineal. Para obtener una ecuación lineal y continua se tiene que llegar a una ecuación de la siguiente forma: Sé que parece díficil, pero no trates de comprenderla aún, vamos a seguir el desarrollo y luego a hacer algunos ejemplos. Para encontrar los valores de alfa α y beta β procedemos a realizar las siguientes operaciones. A las siguientes derivadas parciales las reemplazamos en la ecuación anterior: o bien: para que la igualdad anterior ocurra, los coeficientes de los senos y cosenos deben ser cero. Entonces se obtiene Ecuación I, II, III: La tercera es el producto de restar la primera con la segunda. despejando se obtiene el valor de gamma γ: de modo que donde i es el número imaginario. Substituyendo este resultado en la ecuación I se obtiene que se puede comparar directamente con la ecuación con esta para obtener y o Existen dos posibilidades para el signo del número imaginario y resulta que no es importante la elección que se haga por lo que se seguirá la convención de escoger el signo más. Entonces de da β=+iħ y con se pueden evaluar todas las constantes que aparecen en la forma supuesta de la ecuación diferencial. Entonces resulta en Esta ecuación diferencial satisface las cuatro suposiciones hechas para la ecuación de onda mecánico-cuántica. Por fin, se encontró la ecuación que hizo que Schrodinger ganara el premio nobel de física en 1933 y que dió inicio junto con otros mosntruos de la época a la Mecánica Cuántica! La forma más sencilla de la ecuación de Schrodinger es el de una partícula que solo se mueve en una dimensión, paralela al eje x, por lo que la función de onda espacial ψ solo es en función de x. Sopongamos que la partícula sólo se mueve en presencia de una fuerza conservativa que solo tiene una componente x, por lo que está la energía potencial correspondiente U(x). La ecuación de Schrodinger para esa partícula, con energía definida E, es Ya se, es muy denso, pero con los ejercicios vamos a reforzar todo lo anterior y comprenderemos más la ecuación de Schrodinger. Ecuación de onda para una partícula libre Para una partícula libre que no esté sometida a fuerza alguna, diremos U(x) = 0. Si esa partícula se mueve en la dirección +x, su energía ccinética (y por lo tanto su energía total) es E=(p^2)/2m. Esta partícula está en un estado de energía definida (un estado estacionario). De acuerdo con las ecuaciones de De Broglie, la partícula tiene una longitud de onda definida, λ=h/p y una frecuencia definida f=E/h. Siendo A y B constantes. Para que la función de onda de la ecuación pueda estar en la forma de estado estacionario tenemos que reemplazar B por iA, entonces: En la ecuación hemos aplicado de nuevo la ecuación de Euler, que establece que para cualquier ángulo θ, de donde y reemplazando en la ecuación de Schrodinger, con U(x)=0 : El lado derecho de la ecuación es Eψ(x). Como E=p^2/2m, vemos que la función de onda de la partícula libre satisface la ecuación de Schrodinger. Otro ejemplo más: Probabilidad y Normalización Vamos a usar la definición del complejo conjugado. La probabilidad de encontrar una partícula en algun sector se resume a |ψ(x) |^2, que es la distribución de probabilidad, por ejemplo: Para una función de onda independiente del tiempo en un estado estacionario El complejo conjugado de esta ecuación es Por consiguiente En estadisticas la probabilidad de encontrar algo en algún lugar se resume a 1, obtener 1 es la probabilidad total. Si queremos encontrar una partícula, la probabilidad total de encontrarla en algun lugar sobre todo el eje x es necesariamente igual a uno. Esta probabilidad total se puede obtener matemáticamente integrando la función densidad de probabilidad P sobre toda x. Haciendo esto e igualando el resultado a uno se obtiene: Este gráfico es la representación de la posición de una partícula. Allí donde se encuentran los picos más elevados es más problable de encontrar a la partícula. Ejercicio : Una partícula en movimiento en una dimensión ( el eje x ) se describe por la función de onda donde b=2.00 m^-1, A>0 y el eje x apunta hacia la derecha. a. Determine A de manera que se normalice la función de onda. b. Grafique la función de onda. c. Calcule la probabilidad de encontrar esta partícula en cada una de las siguientes regiones: i) dentro de los 50 cm del origen. ii) del lado izquierdo del origen. iii) Entre x=0.5m y x=1m a) b) c.i) c.ii) c.iii) Para completar el post, dejo un video de "El Universo Mecánico". link: http://www.youtube.com/watch?v=imll2vmzY8U link: http://www.youtube.com/watch?v=rx1VFWhgjmI link: http://www.youtube.com/watch?v=d46k-OAd-e8 Bueno, hasta acá llego, la finalidad de este post es que se vea que no es tan complicado como parece. Las imagenes de los cálculos fueron hechas y subidas por mí y la información de los libros: Dejo un video sobre la fisión nuclear : link: http://www.youtube.com/watch?v=lvYIjmOXcZs Taringueros que no les interese a abstenerse de comentar . Chau!

Hola, en este post presento algunos ejemplos de temas sobre el álgebra, análisis, física, que podés desarrollar con MATLAB. He probado programas como el Maple, Mathematica, graph, calculadora de Microsoft, pero ninguno me satisfizo como este programa. Matlab El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets). Pruebas: link: http://www.youtube.com/watch?v=WA9_HhGODYM El entorno En MATLAB disponemos de varias ventanas que podemos usar si las necesitamos. Los ejemplos de este post solo se requieren del Editor, Comman Window, Command History, Current Folder y Workspace que se encuentran en la opción Desktop del menú de arriba(la cuarta opción luego de File). Deberíamos tener algo así: Fijate que en Current Folder guardaremos los programas que iremos haciendo, yo los separé con carpetas. Los primeros programas Antes que nada a los programas que iremos haciendo lo guardamos con la extensión .m. Nombre_programa.m, Nombre_programa es el mismo nombre que lleve la función. Y los programas se corren con el boton play(el verde): Si aparece este mensaje: dale en Add to Path. o sino seleccionar todas las carpetas de Current Folder y clickear en Add to Path-Select folders and subfolders. Funciones: function [valor/es_Salida]=llamarSuma(valor/es_entrada) Tipeamos lo siguiente en un nuevo script y luego lo guardaremos como "llamarSuma.m": function []=llamarSuma() ....fprintf('%dn',suma(9,8)); end En este programa(el de arriba) que llamamos "llamarsuma" se ilustra el modo en que trabajan las funciones. Fijate que en fprintf invocamos a "suma" que no es más que otro programa/subrutina que realizaremos ahora: function =suma(a,b) ....n=a+b; end Nota: guardar como suma.m Que hacen estas dos rutinas? La primera, llamarSuma invoca a suma, enviándole dos números que son el 9 y 8 que se almacenan en a y b, luego, n=a+b y retorna ese valor mediante la cabecera de la función. Luego fprintf recibe ese valor y lo muestra en pantalla (consola o Command Window). Otro ejemplo más con funciones, pero ahora invocamos al programa desde Comman Window: Tipeamos: function =entradaSalida(entrada) ....devuelto=2*entrada; end Guardamos el programa con la extensión .m y luego tipeamos en Comman Window el nombre del programa con el valor que se quiera: >>entradaSalida(9) Comman Window muestra: ans = ..............18 >> FOR/IF Así es la sintaxis del FOR y del if: function []=ifor() i=1; for x=1:1:5 .....if(i~=4).....................................................% Si no estuviese este if, el programa muestra los numeros desde el 1 al 5. .........disp(x); ....else .......break ....end ....i=i+1; end ~=..............distinto disp(x);......muestra texto o array %..............texto libre Para graficar esta superficie: Es la función: Tipea: function []=funcion1() .......[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10); .......f = sinc(sqrt((X/pi).^2+(Y/pi).^2)); .......mesh(X,Y,f); .......axis([-10 10 -10 10 -0.3 1]) .......xlabel('{bfx}') .......ylabel('{bfy}') .......zlabel('{bfsinc} ({bfR})') .......hidden off end mesh(X,Y,f);...................................graficar con líneas, ver que sucede si se pone surf. axis([-10 10 -10 10 -0.3 1])............posición del gráfico. hidden off.......................................ver lo que hay detrás de la superficie. Si estás identificado con los ejes ortogonales; el eje de absisas, de ordenada y de cotas (x,y,z), podemos crear el siguiente script, de modo que se escriba una sola vez y luego invocarlo cada vez que querramos graficar otra cosa: function []=ejes3d() ....grid on ....view([6,10,4]) ....line([-10 10],[0 0],[0 0],'Color','black','LineStyle','-') ....hold on ....line([0 0],[-10 10], [0 0],'Color','black','LineStyle','-') ....hold on ....line([0 0],[0 0],[-10 10],'Color','black','LineStyle','-') ....xlabel('x') ....ylabel('y') ....zlabel('z') end Los ejes son: Nota: Si vas a utilizar esta función en otro programa será mejor que arranques esta función y luego correr el otro. grid on............ver grilla. view................vista desde esas coordenadas. line.................dibujar linea, un parámetro por cada dimensión. Si se trabaja en 2D, son 2 parámetros. hold on...........mantener el gráfico previo, si no está o si está en off, la linea anterior desaparece. xlabel('x')........muestra x en eje de absisas. ylabel('y')........muestra y en eje de ordenadas. zlabel('z')........muestra z en eje de cotas. Si se agrega ejes3d(); en el gráfico anterior basta con invocarlo desde el principio: function []=funcion1() .......ejes3d(); .......[X,Y] = meshgrid(-10:0.25:10,-10:0.25:10); .......f = sinc(sqrt((X/pi).^2+(Y/pi).^2)); .......mesh(X,Y,f); .......axis([-10 10 -10 10 -0.3 1]) .......xlabel('{bfx}') .......ylabel('{bfy}') .......zlabel('{bfsinc} ({bfR})') .......hidden off end Al correrlo grafica lo siguiente: Ves los ejes ahí detrás? Podés usar Rotate 3d para desplazarte en el sentido que quieras moviendo el mouse. SUPERFICIES PLANOS Halle la ecuación del plano que contiene a la recta y forma un ángulo de 30° con la recta , grafique la recta S y los planos. ¿Cuál es la posición relativa de S y r?.Justifique Obviamente esto en examen se hace a mano, pero la intención es "ver" desde los ángulos que se quiera, cosa que muchos de los programas que dije en el principio no los cumple. El producto vectorial, solución de ecuaciones, matrices, funciones, todo lo que se quiera hacer se hace con Matlab. Pero vamos a ignorar esas ecuaciones, hacemos lo que sigue a lapiz: Luego de hallar la recta S y de calcular las normales y el punto de paso de los planos se traspasa al editor de modo que lo que hicimos esté de acuerdo con lo que se vé en el gráfico y se corre apretando play(boton verde): function []=rectPlano3() ....ejes3d(); %planos: ....c=linspace(-5,8,25); ....[y,z]=meshgrid(c,c); ....x=y+1; ....hidden ....colormap Winter;...................%color de la superficie, marcar colormap y tipear F1. ....mesh(x,y,z); ....hold on ....x=5-y; ....hidden ....colormap Winter; ....mesh(x,y,z); %rectas: ....t=-10:.1:10; ....plot3(-t,0*t,t,'r');....................%r ....hold on ....plot3(0*t+3,0*t+2,t,'magenta');.....%s end Este es el gráfico: Fijate que la recta r que forma un ángulo de 30° con los planos es la roja, esos planos se intersectan en una recta, la de color violeta. Así es como se ve de arriba(traza xy): Este ejercicio pertenece a la Guía Complementaria de Algebra y Geometría Analítica de la Universidad Tecnológica Nacional. Un ejemplo interactivo Un haz de planos Un haz de planos es la union que forman planos con la misma intersección que es una recta en comun, está definido por dos ecuaciónes de plano y un escalar que multiplica a uno de ellos, tomando así, distintos planos para distintos escalares. La ecuación del haz de planos es esta: y como , reemplazando en la ec. del haz de planos y desarrollando miembro a miembro: Obtuvimos z y la tipeamos en el editor, dentro del programa: %Muestreo del haz de planos. function []=hazPlanos() ....ejes3d(); ....c=linspace(-10,10,25); ....for t=1:1:25 ........[x,y]=meshgrid(c,c); ........z=(-x+y+1+t*x+t*y)/(-t);...............%es el z que se obtuvo de los planos, π_1 y π_2. ........colormap Autumn ........pause(1).....................................%pausa de 1 segundo antes de seguir con la siguiente instrucción. ........surf(z) ........hold on ....end end En este video se puede ver como trabaja el código anterior: link: http://www.youtube.com/watch?v=boT96iS6Q5Y Paraboloide Hay muchas formas de escribir una ecuación de una superficie. En este ejemplo vamos a considerar dos: la ecuación en función de X e Y y la forma paramétrica. Se observa que si k1=k2 entonces en la traza XY obtenemos circunferencias que crecen desde el origen. Es posible ver estas circunferencias si llevamos la ecuación en forma paramétrica: %muestra el gráfico de un paraboloide elíptico con la opción de eligir %en forma cartesiana (1) o paramétrica (2) usando el argumento de cabecera. function []=paraboloide(opcion) .....if opcion==1 ........syms x y z; ........ezsurf(x.^2+y.^2); ....else .......r=linspace(0,2,75);.........................%desde 0 hasta 2 hace 75 elipses. .......theta=linspace(0,2*pi,50);..............%desde 0 hasta 2pi hace 50 puntos(mayor presición). .......[r,theta]=meshgrid(r,theta); .......X=r.*cos(theta); .......Y=r.*sin(theta); .......Z=r.^2; .......surf(X,Y,Z) .......end .......colormap hsv; end Nota: ingresar opciones desde Comman Window. Ingresando la opción 1 nos muestra: desde arriba, traza XY: Ingresando la opción 2 nos muestra: desde arriba, traza XY: Tiro oblicuo con y sin rozamiento del viento link: http://www.youtube.com/watch?v=-FH-1ol7h3U Se dice que cuando las partículas se mueven a través de algo que impida su libre movimiento se dice que se mueven en medios resistivos. Por ejemplo cuando se deja caer una piedra al agua, la piedra posee una velocidad, como el agua es un medio resistivo, la partícula desacelera, a causa de esto pierde velocidad hasta que su aceleración sea cero. Cuando su aceleración se hace cero, la piedra se mueve a velocidad constante y esta velocidad se denomina velocidad terminal y seguirá bajando con esta velocidad hasta que llegue al fondo. Bueno, un ejemplo "bueno" es el de tiro oblicuo con y sin rozamiento del viento. Si sos como yo, seguro que primero querrás ver como se llega a esas ecuaciones y luego introducirlas al código. Dejo el link de descarga con el desarrollo de las ecuaciones: Nota: Estos links son míos, de archivos míos. No estoy violando copyright ni nada por el estilo. Este archivo es la demostración del porque de las ecuaciones: http://www mediafire com/?ylxxdr6ypkdsrt6 Ecuaciones para el moviento sin rozamiento del viento: http://www mediafire com/?d2rt45zshb0i4w7 Ecuaciones para el moviento con rozamiento del viento: http://www mediafire com/?wbvlhxohjlkb9uo Aca se encuentra el desarrollo del ejercicio: http://www mediafire com/?4uy5tzvcw4qad1e Luego de Plantear las ecuaciones de Newton y desarrollar matemática y algebraicamente se llega a estas expresiones: Las ecuaciones de movimiento sin rozamiento: Estas son para el desplazamiento si se considera el rozamiento del viento: Las primeras dos ecuaciones están en función del tiempo y la tercera está en función de x para el moviemiento sin rozamiento, las últimas cuatro están en función del tiempo. Se puede considerar una ecuación para el desplazamiento en función de x para el caso en que la partícula se mueva con rozamiento(como se hizo para el primer caso), pero es mucho trabajo despejar t de x y reemplazar en y. Por lo tanto se puede graficar con x e y en función de t. El código(En el programa no se pone puntos al principio ): %Tiro oblicuo con y sin resistencia del viento: %Se ingresa desde Command Window: % m: masa % Vi: velocidad de arranque % theta: angulo respecto de la horizontal % k: constante de proporcionalidad. f=kv (fuerza de rozamiento del aire) function [] = mruv(m,Vi,theta,k) ....clc ....g=9.8; %Este segmento no considera la resistencia del viento ....tp=2*Vi*sin(theta)/9.8; ....ym=(tp/2)*Vi*sin(theta)-(1/2)*g*(tp/2).^2; ....xm=Vi*cos(theta)*tp; ....fprintf('velocidad inicial: %.2fnn',Vi); ....fprintf('tiempo total en movimiento sin rozamiento: %.2fn',tp); ....fprintf('x maximo sin rozamiento: %.2fn', xm); ....fprintf('y maximo sin rozamiento: %.2fnn',ym); ....axis([0 xm 0 ym]) ....for c=0:.3:xm ........x=linspace(c,c+.5,25); ........y=tan(theta)*x-.5*g*(x.^2)/((Vi*cos(theta)).^2);......... ...%y está en función de x. ........if y<0 ............break ........end ........hold on ........pause(.01) ........plot(x,y) ....end %Este segmento considera la resistencia del viento: ....n=(Vi*sin(theta)+m*g/k); ....tm=-(m/k)*log(m*g/(n*k)); ....xmax=(m/k)*Vi*cos(theta)*(1-exp(-(k/m)*(2*tm))); ....ymax=((m/k)*g+Vi*sin(theta))*(m/k)*(1-exp(-(k/m)*tm))-(m/k)*g*tm; ....fprintf('tiempo maximo con rozamiento: %.2fn',2*tm); ....fprintf('x maximo con rozamiento: %.2fn',xmax); ....fprintf('y maximo con rozamiento: %.2fn',ymax); ....for c=0:.05:2*tm ........t=linspace(c,c+.3,25); ........x=(m/k)*Vi*cos(theta)*(1-exp(-(k/m)*t)); ........y=((m/k)*g+Vi*sin(theta))*(m/k)*(1-exp(-(k/m)*t))-(m/k)*g*t; ........hold on ........pause(.03) ........plot(x,y,'r')..............................%Se grafica con x e y en función de t. ....end end En este video se puede ver como k, que es la constante de proporcionalidad, varía de mayor a menor. Cuanto mayor es el valor de k, mayor es la fuerza de rozamiento porque f=kv y cuanto menor es el valor de k, menor es la fuerza de rozamiento y por lo tanto la trayectoria se acerca a lo que vale si no se considera el roce del aire (la gráfica azul). link: http://www.youtube.com/watch?v=1_sQeN7KbVs Desafío Con todo lo aprendido hasta aca podés realizar el siguiente programa: link: http://www.youtube.com/watch?v=hAQsufjBXRg Dejo pistas: for h=0:dif:rad ........z=linspace(-sqrt(h),sqrt(h),25); ........t=linspace(0,2*pi,25); ........[z,t]=meshgrid(z,t); ........r=abs(sqrt(h-z.^2));................%r es el radio, por lo tanto, se toma el valor absoluto de r. ........x=r.*cos(t)+a; ........y=r.*sin(t)+b; ........pause(.0001) ........colormap Autumn ........surfl(x,y,z+c) ........shading interp............%Superficie sin líneas end Modificar ejes3d(), agregarles parámetros nuevos. set(subplot(1,1,1),'color',f);........%cambia el color del fondo del grafico. Buscar la función camorbit en la ayuda. Bueno, aca finaliza mi post laburioso porque me llevo muchas horas hacerlo, pero como no voy a dedicar tiempo a una comunidad que me ha brindado los programas que ni siquiera podría comprar, este mismo programa cuesta alrededor de 700 dólares. Esto es a penas nada con lo que hace un estudiante de ingeniería/tecnica de 2 año en adelante. Espero haber ayudado a aquellos que quieran crear sus primeras aplicaciones. Si me seguís verás que siempre posteo cosas parecidas a lo que se ve en este gráfico: Nos encontramos en mi próximo post.
Hola, no borren este post, me lo vienen pidiendo desde hace mucho la gente de youtube. ¿Quieren colaborar con el aprendizaje o me van a borrar el post? ¿Donde caxo está mi post de MATLAB? Todos los links eran míos. link: https://www.youtube.com/watch?v=1_sQeN7KbVs %Tiro oblicuo con y sin resistencia del viento: %m, Vi, theta y k, se ingresan desde Command Window poniendo: mruv(dato1,dato2,dato3,dato4) % m: masa % Vi: velocidad de arranque % theta: angulo respecto de la horizontal % k: constante de proporcionalidad. f=kv (fuerza de rozamiento del aire) function [] = mruv(m,Vi,theta,k) clc g=9.8; %Este segmento no considera la resistencia del viento tp=2*Vi*sin(theta)/9.8; ym=(tp/2)*Vi*sin(theta)-(1/2)*g*(tp/2).^2; xm=Vi*cos(theta)*tp; fprintf('velocidad inicial: %.2fnn',Vi); fprintf('tiempo total en movimiento sin rozamiento: %.2fn',tp); fprintf('x maximo sin rozamiento: %.2fn', xm); fprintf('y maximo sin rozamiento: %.2fnn',ym); axis([0 xm 0 ym]) for c=0:.3:xm x=linspace(c,c+.5,25); y=tan(theta)*x-.5*g*(x.^2)/((Vi*cos(theta)).^2); if y<0 break end hold on pause(.01) plot(x,y) end %Este segmento considera la resistencia del viento: n=(Vi*sin(theta)+m*g/k); tm=-(m/k)*log(m*g/(n*k)); xmax=(m/k)*Vi*cos(theta)*(1-exp(-(k/m)*(2*tm))); ymax=((m/k)*g+Vi*sin(theta))*(m/k)*(1-exp(-(k/m)*tm))-(m/k)*g*tm; fprintf('tiempo maximo con rozamiento: %.2fn',2*tm); fprintf('x maximo con rozamiento: %.2fn',xmax); fprintf('y maximo con rozamiento: %.2fn',ymax); for c=0:.05:2*tm t=linspace(c,c+.3,25); x=(m/k)*Vi*cos(theta)*(1-exp(-(k/m)*t)); y=((m/k)*g+Vi*sin(theta))*(m/k)*(1-exp(-(k/m)*t))-(m/k)*g*t; hold on pause(.03) plot(x,y,'r') end end Yapa: Es una papa finalizar este programa. La idea es que la cámara tome imágenes secuencialmente, encuentre diferencias en ella y te alerte. function intRectangle() clc img=imread('img5.jpg'); imgb=im2bw(img,.35); [fil col]=size(imgb); [ dir ]=bwlabel(imgb); acá va todo junto el dir entre corchetes propied=regionprops(dir); for n=1:length(propied) xcen=propied(n).Centroid(1); ycen=propied(n).Centroid(2); y=linspace(1,ycen,15); i=1; for x=linspace(1,xcen,15) pause(.01) imshow(imgb) rectangle('Position',[x,y(i),col*(1+(1-x)/xcen),fil*(1+(1-y(i))/ycen)],'EdgeColor','r','lineWidth',2) i=i+1; end end imshow(imgb) end Voy volver a subir más cosas de estas.