Mostrando entradas con la etiqueta vectores. Mostrar todas las entradas
Mostrando entradas con la etiqueta vectores. Mostrar todas las entradas

lunes, 16 de junio de 2014

Graficando ecuaciones polares en MATLAB con Octave UPM – Rooms – Donate – Plataforma



En esta entrada vamos a graficar algunas ecuaciones polares como las rectas, circunferencias, limazones con rizo, cardiodes, limazones con hendidura, limazones convexos, lemniscatas, rosas y espirales utilizando MATLAB y Octave UPM.

En primer lugar debemos tener descargado Octave UPM. Sí no sabes que es Octave UPM te invito a pasar por la entradaAprendiendo MATLAB con Octave UPMdonde verás como descargarlo y algunas nociones básicas que te serán de utilidad.

Sí bien existen una gran cantidad de herramientas para graficar ecuaciones polares como por ejemplofooplot, siempre es bueno saber como funcionan y ser capaces de desarrollarlas nosotros mismos. Vamos a hacer un programa en MATLAB que nos permita graficar ecuaciones polares.

Empecemos usando la consola de Octave UPM para ir realizando algunos ejemplos que nos ayudarán a desarrollar nuestro programa.


Debemos crear lo que sería nuestra tabla de valores. Lo haremos usando vectores y con la funciónlinspace, esta función crea un vector con un número de elementos determinados por nosotros, cuya distancia es igual para todos.

Ejemplo:

linspace(inicio del intervalo, fin del intervalo, cantidad de elementos del vector);

linspace(0,9,5);

0 y 9 sería el intervalo en que se encuentran los 5 elementos del vector que hemos creado, es decir el intervalo [0,9]. 5 obviamente es la cantidad de elementos. Los elementos de nuestro vector serían: [0, 2.25, 4.5, 6.75, 9]


Para graficar en coordenadas polares sabemos quetheta (θ)toma valores entre 0 y 2π, entonces este sería el intervalo que usaríamos en la función linspace, nos faltaría saber cuantos elementos tendría nuestro vector. Es importante saber quemientras mayor sea la cantidad de elementos en el vector, será mejor, puesto que estos elementos seránpuntos en el plano polar que generarán nuestra gráfica. Y mientras mas puntos tengamos nuestra gráfica será más precisa. Yo recomiendo usar 100 elementos en el vector.

Vamos a crear los valores paraθ,yo usaré la variable T comoθpara no complicarnos tanto. Esto sería:

t = linspace(0,2*pi,100);

Lo siguiente sería pedir al usuario que ingrese la ecuación polar, es importantemostrar un mensaje diciendo que theta (θ) está representado con la variable t para no presentar confusiones.Sí el usuario quiere graficar una rosa de 4 pétalos determinada por cos(2θ) deberá ingresar cos(2*t).

r = input("Ingrese la ecuación polar. Theta está representada por la variable t");

Finalmente para graficar usaremos la funciónpolar(t,r);

Sí hemos hecho todo bien, para la rosa de 4 pétalos anteriormente mencionada este sería el resultado:


Haciendo nuestro programa para graficar:

% Graficar ecuaciones polares
disp("Bienvenido al graficador de ecuaciones polares\n");
t = linspace(0,2*pi,100);
r = input("Ingrese la ecuacion polar a graficar. Para theta por favor usar la variable t. Ejemplo: cos(theta) = cos(t)\n");
disp("Esta es la grafica de su ecuacion polar\n");
polar(t,r);

Así como fue mencionado antes, creamos un vector de 100 elementos que están entre [0,2π] pedimos al usuario que ingrese la ecuación polar a graficar (utilizando a t como la variable theta). Finalmente se muestra la gráfica.

El programa en ejecución:



En esta ejecución ingresamos la ecuación de una rosa de 4 pétalos cos(2*t). Pero,¿si queremos graficar un limazon con rizo?


La ejecución y la gráfica del limazon con rizo sería:



Y¿sí queremos graficar dos ecuacionessimultáneamente?debemos modificar nuestro código agregando la funciónhold on. Esta función nos permitirá graficar una nueva ecuación polar sin remplazar la antes graficada. Además de agregar la función hold on agregaremos otras líneas pidiendo una segunda ecuación polar al usuario. Cuando usemos la funciónpolar(t,r);agregaremos otro parámetro para definir el color de las líneas de cada ecuación, esto con el fin de distinguir entre ambas gráficas. Los colores están determinados en su mayoría por la inicial de su nombre en ingles, ejemplo azul seríab (blue) verde sería g (green). Para graficar una ecuación con lineas azules entonces seríapolar(t,r,'b');.

% Graficar dos ecuaciones polares
disp("Bienvenido al graficador de ecuaciones polares\n");
t = linspace(0,2*pi,100);
r = input("Ingrese la primera ecuacion polar a graficar. Para theta por favor usar la variable t. Ejemplo: cos(theta) = cos(t)\n");
disp("Esta es la grafica de su ecuacion polar\n");
polar(t,r,'b');
hold on;
r2 = input("Ingrese la segunda ecuacion polar a graficar. Para theta por favor usar la variable t. Ejemplo: cos(theta) = cos(t)\n");
disp("Esta es la grafica de su ecuacion polar\n");
polar(t,r2,'g');

La ejecución sería:


Y nuestra gráfica sería la siguiente:



martes, 3 de junio de 2014

[Ejercicio resuelto c++ POO Herencia Vectores MVC] Una Asociación de Lancheros trasladan turistas – Hard drive – Credito – Abogado – Curso



Hace poco nos pidieron realizar este ejercicio práctico para una evaluación en la universidad. En esta entrada les presento el planteamiento y el código fuente del ejercicio resuelto en c++ utilizando Programación orientada a objetos, herencia de clases, vectores y MVC. Sí desean descargar el código fuente pueden encontrar el enlace de la descarga al final de la entrada.

Planteamiento:
En Chichiriviche, concretamente en playa sur, existe una asociación que trabaja con varios lancheros, para prestar el servicio de trasladar (llevar y traer) a los turistas a los respectivos cayos que se encuentran cercanos a la zona, como son: SAL, MUERTO, PERAZA, SOMBRERO, BOCA SECA, VARADERO y BORRACHO. La asociación necesita que le procesen los servicios de traslado realizados por cada uno de los lancheros la semana pasada, con el propósito de determinar para cada uno el total de BsF. que le generó a la asociación y su ganancia.
Actualmente los traslados se pueden realizar en cualquier día de la semana, (Representado por: 1. Lunes, 2. Martes, 3. Miércoles, 4. Jueves, 5. Viernes, 6. Sábado, 7. Domingo).
La asociación siempre tiene a su disposición una lista de los lancheros que trabajaron en la semana que va a ser procesada y de estas personas se conoce su cédula y nombre. También se sabe, que en este momento se realizan traslados a 7 cayos y para el mejor manejo de la información la asociación los identifica con un número que va del 1 al 7, así mismo, por cada cayo se conoce el nombre y la tarifa a cancelar por el traslado. A continuación se presenta un ejemplo de la información correspondiente a los cayos:

Número del cayo Nombre del cayo Tarifa del traslado (BsF)
1 SAL 600
2 MUERTO 500
3 PERAZA 700
…. …… …..
7 BORRACHO 1500

Es importante resaltar, que la asociación los fines de semana se queda con el 20% de la tarifa cobrada por el traslado y el resto es la ganancia del lanchero y entre semana la asociación se queda con el 10% de la tarifa cobrada por el traslado y el resto es la ganancia del lanchero.

Enlace de descarga del código fuente:
http://www.mediafire.com/download/2wbwzq5ilo8b168/Vectores_Cayos_Practica_II2.rar


martes, 2 de julio de 2013

Libro Calculo de Purcell + Solucionario – cancer – cancer – Domains

En ocasiones estamos estudiando cálculo y nos cae bien apoyar nuestras horas de estudio con un buen libro, ejemplo Cálculo de Purcell, además que en el archivo comprimido .rar está incluido el solucionario de todos los ejercicios propuestos en éste libro.

Contenido:


Capítulo 0. Preliminares
Capítulo 1. Límites.
Capítulo 2. La derivada.
Capítulo 3. Aplicaciones de la derivada.
Capítulo 4. La integral definida.
Capítulo 5. Aplicaciones de la integral.
Capítulo 6. Funciones trascendentales.
Capítulo 7. Técnicas de integración.
Capítulo 8. Formas indeterminadas e integrales impropias.
Capítulo 9. Series infinitas.
Capítulo 10. Cónicas y coordenadas polares.
Capítulo 11. Geometría en el espacio y vectores.
Capítulo 12. Derivadas para funciones de dos o más variables.
Capítulo 13. Integrales múltiples.
Capítulo 14. Cálculo vectorial.
(Para descargar clic en la imagen de abajo)