2.3 Cinemática – lazos/bucles y arreglos 1D, velocidad por tramos con Python

Referencia: Sears-Zemansky Cap2.2 Vol1 Ed.12 p39
Diapositivas: Con varios puntos observados.

Situación propuesta

Tomar lecturas de distancias y tiempos recorridos, para obtener velocidades por tramo en Kmh

Lazos para Repetir

Usados cuando hay que repetir una operación o bloque de procedimiento. Se expresa como:

Estructura Mientras Repita
Mientras (condición): 
repita


while (condición):
    …

Lazos/Bucles – Estructuras para Repetir o iterar

Vectores – Arreglos de una dimensión

Usados cuando hay que almacenar una lista de datos, similar a la del problema propuesto.

Se requiere importar la librería numpy para facilitar el manejo de los datos. np es el alias de la librería

import numpy as np

Se inicializa el arreglo, llenándolo con ceros

d=np.zeros(puntos,dtype=float)
t=np.zeros(puntos,dtype=int)
i=0

Los arreglos inician en la fila 0, conocida como punto inicial.
Es necesario indicar los datos son enteros(int) o reales (float).

Vectores – Arreglos de una dimensión

resultado del algoritmo:

>>> 
¿puntos observados?:4
distancia recorrida (m):0
tiempo transcurrido (s):0
distancia recorrida (m):100
tiempo transcurrido (s):5
distancia recorrida (m):200
tiempo transcurrido (s):9
distancia recorrida (m):300
tiempo transcurrido (s):15
Velocidades en Kmh:
0.0
72.0
90.0
60.0

Algoritmo: Velocidad por tramos recorridos

# FCNM-ESPOL. Física con python
# varios tramos de recorrido
import numpy as np

puntos=int(input('¿puntos observados?:'))
d=np.zeros(puntos,dtype=float)
t=np.zeros(puntos,dtype=int)
i=0
while (i<puntos):
    d[i]=float(input('distancia recorrida (m):'))
    t[i]=int(input('tiempo transcurrido (s):'))
    i=i+1

#Procedimiento
v=np.zeros(puntos,dtype=float)
vkmh=np.zeros(puntos,dtype=float)
v[0]=0
vkmh[0]=0
i=1
while (i<puntos):
    v[i]=(d[i]-d[i-1])/(t[i]-t[i-1])
    vkmh[i]=(v[i]/1000)*60*60
    i=i+1

#Salida
print('Velocidades en Kmh:')
i=0
while (i<puntos):
    print(vkmh[i])
    i=i+1

Ejercicio para Taller

Velocidades por tramos, Implementar el algoritmo en python.

Lectura d t V V
metros seg m/s Kmh
0 0 0
1 100 5
2 200 9
3 300 15
4 400 19
5 500 25
6 600 33
7 700 38
8 700 45
9 800 55
10 800 15

2.2 Cinemática – Condicionales, Multas por exceso de velocidad con Python

Referencia: Sears-Zemansky Cap2.1 Vol1 Ed.12 p37
Diapositivas Multas por exceso de velocidad.

Situación propuesta: Determinar la velocidad del vehículo en Km/h y poner multas por exceso de velocidad sobre los 50Kmh.

Condicionales

Escrito en Python:

If (condición):
	VERDADERO
    else:
	FALSO

Los condicionales, permiten tomar decisiones o elegir las acciones como resultado de una operación lógica,

a>b         a=b
a<b         a>=b
a<=b       ; etc….

De la situación propuesta escrita en Python:

if (vkmh>50):
    sancion=1
else:
    sancion=0

Con lo que el algoritmo de velocidad media se convierte en:

Multa por velocidad limite

# FCNM-ESPOL. Fí­sica con python
# cálculo de multa por velocidad límite
# valores conocidos d y t
# sancion si exede los 50km/h
tf=int(input('¿cuantos segundos?: '))
d=float(input('¿distancia recorrida?: '))

v=d/tf
vkmh=(v/1000)*60*60
if (vkmh>50):
    sancion=1
else:
    sancion=0

print('Velocidad Media(Km/h)')
print(vkmh)
if (sancion==1):
    print('Tiene sancion por exceso de velocidad sobre 50 Km/h')

Ejercicio propuesto

Ampliar el uso del tema propuesto, solicitando la variable de velocidad “limite” para decidir si aplica una sanción

  • Zona escolar: 20 Km/h
  • Zona urbana: 50 Km/h
  • Via rápida urbana: 60 Km/h
  • Carretera: 90 Km/h

Velocidad Media

# FCNM-ESPOL. Física con python
# cálculo de velocidad
# valores conocidos d y t

tf = int(input('¿cuantos segundos?: '))
d  = float(input('¿distancia recorrida?: '))

v    = d/tf
vkmh = (v/1000)*60*60

print('Velocidad Media(Km/h)')
print(vkmh)

2.1 Cinemática – Algoritmo, Movimiento en Línea recta con Python

Referencia: Sears-Zemansky Cap2.1 Vol1 Ed.12 p37
Diapositivas. Movimiento en linea recta.

Para plantear el movimiento en línea recta se consideran el punto de partida, llegada y tiempo de recorrido. En Python son variables que pueden obtener diferente valor para cada prueba.

Puede usar Python como calculadora y como programa.

1. Python como calculadora

Se   realizan los cálculos línea por línea

>>> tf=10
>>> d=194
>>> v=d/tf
>>> v
19.4
>>> vkmh=(v/1000)*60*60
>>> vkmh
69.83999999999999
>>> 

2. Python como Programa o Algoritmo

Diagrama de Flujo Básico
Diagrama de Flujo Básico

Para que el computador realice los trabajos de cálculo, se deben describir las instrucciones de forma ordenada, simple y muy clara. (Algoritmo)

Una forma de describir un Algoritmo es mediante gráficas conocidas como “Diagramas de Flujo”.

El “Programa” consiste en escribir las instrucciones del algoritmo en un lenguaje para computadora

Generalmente las instrucciones se escriben en inglés, siguiendo un formato (sintaxis) establecido por el lenguaje de programación.  Estructuras de Control en programación

Para éste curso, el lenguaje utilizado será Python

En las líneas de inicio, se comienza describiendo la razón por la que escribimos el “algoritmo” escrito en forma de “programa”

# FCNM-ESPOL. Física con python
# cálculo de velocidad
# valores conocidos d y t

En el bloque de INGRESO, se Seleccionan datos conocidos al inicio,se determinan los tipos de datos, sean Variables simples: enteros o reales.
En el algoritmo o programa no se usarán inicialmente las unidades, se supondrá que son predeterminadas

tf = int(input('¿cuantos segundos?: '))
d  = float(input('¿distancia recorrida?: '))

En el bloque de procedimiento, para calcular la velocidad en el tramo se escribe la formula, incluso se puede cambiar de mts/seg a Km/h

v    = d/tf
vkmh = (v/1000)*60*60

En los bloques de salida y Fin, Se muestran los resultados encontrados y como fin del algoritmo en python de establece cuando no se encuentran líneas de instrucción

print('Velocidad Media(Km/h)')
print(vkmh)

Velocidad Media

# FCNM-ESPOL. Física con python
# cálculo de velocidad
# valores conocidos d y t

tf = int(input('¿cuantos segundos?: '))
d  = float(input('¿distancia recorrida?: '))

v    = d/tf
vkmh = (v/1000)*60*60

print('Velocidad Media(Km/h)')
print(vkmh)

1. Física Básica – Simulación con Python

En el caso de estar tomando el curso de Física-Cinemática, los siguientes temas te serán de ayuda como introducción a Python. Los temas de programación se desarrollan usando los ejemplos del libro Sears-Zemansky Capítulo 2, Edición 12.

1. Introducción

Paradigmas de Estudio de Ciencias

El concepto se amplía con el uso de simulaciones en computadora

Otro enfoque:

 

«Computers are incredibly fast, accurate, and stupid;
humans are incredibly slow, inaccurate, and brilliant;
together they are powerful beyond imagination». Albert Einstein

8.5 Archivos.wav de audio con Python – Abrir, extraer una porción

Los conceptos de arreglos como vectores y matrices son suficientes para manejar archivos.wav. con la librería Scipy-Python.

1. Leer o Abrir archivo.wav de audio

Para procesar un archivo de audio en formato .wav, la instrucción waves.read(archivo) usa el archivo con ‘nombre.wav’ y obtiene dos variables que representan:
muestreo: frecuencia de muestreo del sonido en PCM y
sonido: que es un arreglo con las muestras del sonido.

El archivo de audio debe encontrarse en el mismo directorio que el archivo.py de instrucciones, por ejemplo, dado el archivo ‘Alarm01.wav’ , se puede procesar con las instrucciones mostradas:

Alarm01.wav

# Abrir un archivo de audio .wav
import numpy as np
import matplotlib.pyplot as plt
import scipy.io.wavfile as waves

# INGRESO 
archivo = 'Alarm01.wav'
muestreo, sonido = waves.read(archivo)

con lo que se obtiene:

>>> muestreo
22050
>>> sonido
array([[0, 0],
       [0, 0],
       [0, 0],
       ..., 
       [0, 0],
       [0, 0],
       [0, 0]], dtype=int16)
>>> np.shape(sonido)
(122868, 2)

En el ejemplo, la frecuencia de muestreo es de 22050 Hz. El sonido es estéreo al tener dos columnas que corresponden a los canales izquierdo y derecho.
Para usar un solo canal, se copian los datos a un nuevo arreglo. Para separar el canal izquierdo por ejemplo, se usan las instrucciones:

>>> izquierdo=sonido[:,0].copy()
>>> izquierdo
array([0, 0, 0, ..., 0, 0, 0], dtype=int16

Con lo que se tienen los datos listos para ser procesados.

1.1 Otro ejemplo de archivo.wav de audio

Con los datos se pueden graficar las ondas de sonido como la mostrada en la imagen.

muestra_Invernal01.wav

El formato .wav es el más simple de manejar pues contiene directamente los datos de las muestras de sonido similar a la mostrada en la figura.

El primer parámetro a obtener es la frecuencia de muestreo en Hz, o cuántas muestras por segundo se realizan, y luego los datos del sonido.

# Abrir un archivo de audio .wav
import numpy as np
import matplotlib.pyplot as plt
import scipy.io.wavfile as waves

# INGRESO 
# archivo = input('archivo de sonido:' )
archivo = 'muestra_Invernal01.wav'
muestreo, sonido = waves.read(archivo)

# PROCEDIMIENTO
tamano=np.shape(sonido)
canales=len(tamano)
tipo = 'estéreo'
if (canales<2):
    tipo = 'monofónico'
duracion = len(sonido) /muestreo

# SALIDA
print('muestreo (Hz) : ',muestreo)
print('canales: ' + str(canales) + ' tipo ' + tipo )
print('duración (s): ',duracion)
print('tamaño de matriz: ', tamano)
print(sonido)
plt.plot(sonido)
plt.show()

Con lo que obtiene la gráfica mostrada al inicio y los siguientes resultados:

muestreo (Hz) :  44100
canales: 2 tipo estéreo
duración (s):  15.0
tamaño de matriz:  (661500, 2)
[[-4355 -4561]
 [-4353 -4572]
 [-4347 -4578]
 ..., 
 [  120  1008]
 [  124   993]
 [  100   935]]

Referencias:
https://docs.scipy.org/doc/scipy-0.19.1/reference/generated/scipy.io.wavfile.read.html

1.2 Librerías para tratamiento de audio

la librería de funciones scipy (scientific python), dispone de funciones para el tratamiento de señales, estadísticas, audio, entre otras.

El orden de las instrucciones es el que aparece en los post del blog.

instrucciones
import scipy.io.wavfile as waves librerias de audio en formato wav para lectura y escritura de archivos.
muestreo, sonido = waves.read(archivo) lectura de datos de un archivo de audio en formato wav. Se obtiene la frecuencia de muestreo y los datos en sonido
import scipy.integrate as integrate importar metodos de integración de scipy
integrate.simps(valrores, ejex) integral de muestras de señal usando el método de Simpson.
. .
. .

2. Extraer una Porción del audio y guardar archivo.wav

Para extraer una porción de un archivo de audio se requiere: abrir el archivo, seleccionar la porción de interés y guardar el resultado un archivo de salida.

archivo origen: muestra_Invernal01.wav

archivo resultado: muestra_Invernal02.wav

La porción puede ser indicada en unidades de tiempo que luego deben ser convertidas a índices de muestras para extraer la porción requerida.

El procesamiento del archivo simplificado en Python es:

# Extrae porción de un archivo de audio .wav
import numpy as np
import matplotlib.pyplot as plt
import scipy.io.wavfile as waves

# INGRESO 
# archivo = input('archivo de sonido:' )
archivo = 'muestra_Invernal01.wav'
archivosalida = 'muestra_Invernal02.wav'
# tiempo en segundos
desde = 7.5
hasta = 10.2

muestreo, sonido = waves.read(archivo)

# PROCEDIMIENTO
# indices de muestras
idesde = int(desde*muestreo)
ihasta = int(hasta*muestreo)
porcion = sonido[idesde:ihasta,:]
duracion = len(porcion)/muestreo

# SALIDA
waves.write(archivosalida, muestreo, porcion)
print('archivo creado: ', archivosalida)

2.1 Guardar un archivo de audio .wav

Luego de procesar los datos de audio, y guardar el resultado en un archivo con ‘nombre.wav’ se usa la instruccion waves.write() de la libreria scipy, que requiere:
archivo: el nombre del archivo resultante, con extension.wav
fsonido: la frecuencia de muestreo del sonido (entero)
sonido: el arreglo de la señal de audio como entero de 16 bits (dtype=’int16′).

Recuerde haber realizado el llamado a las librerias numpy y scipy que se presentan como referencia en el script.

# PROCEDIMIENTO
# Arreglos para datos con k muestras
sonidofinal = np.zeros(k, dtype='int16')

# SALIDA
archivo = 'audiofinal.wav'
waves.write(archivo, int(fsonido),sonidofinal)

El archivo de audio resultante se escucharà usando un programa como «windows media player»

Notas:
Se puede añadir al nombre la ruta de ubicación del archivo en el disco duro. Ejemplo para windows: ‘C:\Users\mis documentos\archivo.wav

3. Gráfica de un canal de audio

Para mostrar en un gráfico un canal de audio se usa la libreria matplotlib. Para muestra, usando los datos del ejemplo anterior:

izquierdo = sonido[:,0].copy()

# SALIDA grafica
plt.plot(izquierdo)
plt.show()

con lo que se obtiene la siguiente gráfica:

Con lo que se puede revisar la forma de la señal de audio

Ejercicio

Si el archivo de origen es estéreo, extraer un solo canal y convertirlo a monofónico.


El manejo de archivo de audio en formato wav permite analizar varios conceptos como , en los cursos de Señales y Sistemas y Procesos estocásticos:

Modulación Delta Sigma

Señales de energía y potencia

Señales Analógicas y Digitales

Correlación(señal01,señal02)

Morse – Generador de Tonos


Referencia: https://docs.scipy.org/doc/scipy-0.19.1/reference/generated/scipy.io.wavfile.write.html

8.4 Archivos.json con Pandas-Python

Algunas estructuras de datos que se encuentran en formato tipo «diccionario» se pueden guardar y leer usando librerias Pandas.

Para el ejemplo se usa el diccionario:

tabla = {'Maria': {'primera': 55,
                   'segunda': 70,
                   'tercera': 0,
                   'final': '62,5'},
         'Pedro': {'primera': 30,
                   'segunda': 60,
                   'tercera': 70,
                   'final': '65'},
         'Juan': {'primera': 80,
                  'segunda': 65,
                  'tercera': 65,
                  'final': '72,5'}
         }

Para almacenar estos datos se realiza la conversión del diccionario a DataFrame con el objetivo de usar la instrucción de Pandas para guardar archivos.json.

tabla.to_json(unarchivo)

Instrucciones en Python

import pandas as pd

# INGRESO
#archivos de salida T: Transpuesta
unarchivo  = 'ejemplonotas01.json'
unarchivoT = 'ejemplonotasT01.json'

# datos como diccionario de datos
tabla = {'Maria': {'primera': 55,
                   'segunda': 70,
                   'tercera': 0,
                   'final': '62,5'},
         'Pedro': {'primera': 30,
                   'segunda': 60,
                   'tercera': 70,
                   'final': '65'},
         'Juan': {'primera': 80,
                  'segunda': 65,
                  'tercera': 65,
                  'final': '72,5'}
         }

# PROCEDIMIENTO
# conversión a DataFrame de pandas
tabla = pd.DataFrame(tabla)
tablaT = tabla.transpose()

# SALIDA
print(tabla)
print('transponer: ')
print(tablaT)

# almacena en archivo.json
tabla.to_json(unarchivo)
tablaT.to_json(unarchivoT)

los archivos resultantes son:

ejemplonotas01.json

ejemplonotasT01.json

Referencia:
https://pandas.pydata.org/docs/reference/api/pandas.io.json.read_json.html

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html

 

8.3.1 Archivos.csv con Python – Ejercicio con gráfica de temperatura y Humedad

Ejercicio. De una estación meteorológica se obtiene un archivo.csv con los datos de los sensores disponibles durante una semana.

2021_10_EstMeteorologica.csv

1. Lectura de archivo.csv y gráfica de datos


a. Realice la lectura de los datos desde el archivo.csv en una tabla de Pandas, muestre los nombres de las columnas

b. Añada una columna de fecha-hora con tipo de dato datetime unificando las columnas «Date» y «Time»

c. Realice la gráfica de los datos obtenidos para la variable temperatura «TEMP» vs «fecha«.

Referencia: Basic Time Series Plotting. Unidata. https://unidata.github.io/python-training/workshop/Time_Series/basic-time-series-plotting/

1.1 Solución propuesta

literal a

Para leer o cargar el archivo.csv con pandas y realizar la gráfica se usarán las librerías «pandas» y «matplotlib». La lectura del archivo usa los parámetros de separador de datos ';' y separador decimal ','. El nombre del archivo es parte del bloque de ingreso.

tabla = pd.read_csv(narchivo, sep=';',decimal=',')

literal b

Para manejar las fechas, se concatenan los valores de las columnas 'Date' y 'Time' conformando una cadena de caracteres en cada casilla de la columna 'fecha'.
Para manejar los datos y operaciones con fechas se usan el tipo de datos datetime. El formato de lectura se indica como"%d/%m/%Y %H:%M:%S" dado por una cadena de caracteres

fechaformato = "%d/%m/%Y %H:%M:%S"
tabla['fecha'] = pd.to_datetime(tabla['fecha'],
                                format=fechaformato)

literal c

La gráfica se realiza usando los datos de las columnas de fecha y temperatura.

Instrucciones Python

# lecturas archivo.csv de estación meteorológica
import pandas as pd
import matplotlib.pyplot as plt

# INGRESO
narchivo = "2021_10_EstMeteorologica.csv"

# PROCEDIMIENTO
tabla = pd.read_csv(narchivo, sep=';',decimal=',')
n = len(tabla)

# fechas concatenando columnas de texto
tabla['fecha'] = tabla['Date']+' '+tabla['Time']

# convierte a datetime
fechaformato = "%d/%m/%Y %H:%M:%S"
tabla['fecha'] = pd.to_datetime(tabla['fecha'],
                                format=fechaformato)
# SALIDA
print('columnas: ', list(tabla.keys()))

# grafica
x_horas = tabla['fecha']
y_temp  = tabla['TEMP']
plt.plot(x_horas,y_temp,'*')
plt.title('Temperatura')
plt.grid()
plt.show()

2. Separar datos por días y graficar

d. Para realizar un análisis por día y comparar entre varios días, se requiere encontrar los intervalos de inicio y fin de día.

e. Realizar la gráfica comparativa de los días.

2.1 Solución propuesta

literal d

Los intervalos se pueden entregar como una lista de los índices de las filas donde cambia el día.

literal d

Para que las gráficas se superpongan en las mismas horas, sin cambiar de día, se realiza una operación de desplazamiento pd.Timedelta(days=j) a las fechas antes de hacer cada línea de gráfica.

Las etiquetas en el eje x se cambia al formato '%H:%M' mediante la librería matplotlib.dates y la instrucción DateFormatter.

La gráfica para 7 días se presenta muchos datos, por lo que para análisis es preferible algo más simplificado, como comparar dos días para simplificar visualmente.

Instrucciones Python

# lecturas archivo.csv de estación meteorológica
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, DayLocator

# INGRESO
narchivo = "2021OctubreEstMetorologica.csv"

# PROCEDIMIENTO
tabla = pd.read_csv(narchivo, sep=';',decimal=',')
n = len(tabla)

# fechas concatenando columnas de texto
tabla['fecha'] = tabla['Date']+' '+tabla['Time']

# convierte a datetime
fechaformato = "%d/%m/%Y %H:%M:%S"
tabla['fecha'] = pd.to_datetime(tabla['fecha'],
                                format=fechaformato)

# serie por días
diaIndice = [0] # indice inicial
for i in range(1,n-1,1):
    i0_fecha = tabla['fecha'][i-1]
    i1_fecha = tabla['fecha'][i]
    if i0_fecha.day != i1_fecha.day:
        diaIndice.append(i)
diaIndice.append(len(tabla)-1) # indice final
m = len(diaIndice)

# SALIDA
print('columnas: ', list(tabla.keys()))
print('SerieDia: ',diaIndice)
print('días en serie: ', len(diaIndice))

# grafica
figura, grafica = plt.subplots()
marcador = ['.','o','v','^','<','>','1']
for j in range(0,7,1):
    i0 = diaIndice[j]
    i1 = diaIndice[j+1]
    x_horas = tabla['fecha'][i0:i1]-pd.Timedelta(days=j)
    y_temp  = tabla['TEMP'][i0:i1]
    etiqueta = str(tabla['fecha'][i0].month)+'-'
    etiqueta = etiqueta + str(tabla['fecha'][i0].day)
    
    grafica.scatter(x_horas,y_temp,
                    marker = marcador[j%7],
                    label=etiqueta)
    
# formato de eje
grafica.xaxis.set_major_formatter(DateFormatter('%H:%M'))
plt.legend()
plt.title('Temperatura')
plt.grid()
plt.show()

Otros temas de desarrollo

Regresión polinomial de grado m – Ejercicio Temperatura para un día

8.3 Archivos.csv con Pandas-Python

Algunas tablas de datos se pueden recibir como archivos.csv, que son datos separados por ';' , debiendo indicar el separador de decimales ','.

Ejemplo de archivo: ejemplonotas01.csv

nombre;primera;segunda;tercera;final
Maria;55;70;0;62,5
Pedro;30;60;70;65
Juan;80;65;65;72,5

puede ser leido y procesado usando la libreria pandas

import pandas as pd

# INGRESO
# archivo de entrada
unarchivo = 'ejemplonotas01.csv'


# PROCEDIMIENTO
tabla = pd.read_csv(unarchivo,
                    sep=';',
                    na_values=',')

# SALIDA
print(tabla)

con lo que se obtiene:

  nombre  primera  segunda  tercera final
0  Maria       55       70        0  62,5
1  Pedro       30       60       70    65
2   Juan       80       65       65  72,5
>>> 

Tamaño de la tabla:

>>> tabla.shape
(3, 5)
>>> tabla.columns
Index(['nombre', 'primera', 'segunda', 'tercera', 'final'], dtype='object')
>>> tabla['nombre']
0    Maria
1    Pedro
2     Juan
Name: nombre, dtype: object

Seleccionando solo un grupo de datos:

>>> soloprimera = tabla['primera']
>>> soloprimera
0    55
1    30
2    80
Name: primera, dtype: int64

>>> media = soloprimera.mean()
>>> media
55.0

Referencia:
https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html

8.2 Gráficas de funciones matemáticas

Las gráficas básicas para funciones matemáticas, datos, en 2D y 3D usan la librería matplotlib.pyplot con el alias plt.

import matplotlib.pyplot as plt

En caso de necesitar instalar: Matplotlib – Gráficas. Instalación simple con pip

Ejemplos de gráficas en 2D

Las gráficas son un recurso muy versatil en el área de la matemática e ingeniería.

En el curso de Métodos Numéricos se presenta una introducción de gráficas en 2D y se usan y desarrollan en todas las unidades como parte del análisis de los problemas.

Gráficas 2D de línea

Graficas 3D puntos dispersos-scatter

Graficas 3D wireframe

En el curso de Señales y Sistemas, se las usa ampliamente desde la unidad 1 Señales, para mostrar los diferentes tipos y formas, y luego en el análisis de las respuestas de los sistemas ante las señales. Como tema de instroducción, revise algúnas de las definiciones básicas de señales para observar la aplicación de gráficas.

1. Señales Contínuas

2. Señales Discretas

3. Señales Analógicas y Digitales

4. Señales Periódicas y No periódicas

5. Señales de Energía y Potencia

6. Señales Pares e Impares

7. Señales μ(t) y δ(t)

8. Señales Compuestas

9. Señales Exponencial compleja

10. Señales operaciones en tiempo

También se usan para el análisis de resultados e algun experimento, como los que se pueden observar en el grupo de investigación GIRNI

Rssi vs Distancia. Linealiza POR intervalos

Se pueden usar algunos tipos de gráficas, como de línea, dispersión, flechas,  usando las coordenadas en vectores x, y

plt.plot(x,y)
plt.scatter(x,y)
plt.arrow(xinicio, yinicio, deltax,deltay)
plt.quiver(xinicio, yinicio, componentex, componentey)

Las instrucciones para las gráficas se realizan en el bloque de salida usando un solo bloque de instrucciones, para finalmente mostrar el resultado plt.show().

8.1.1 Menú en Python – Ejercicios resueltos y Tarea

Ejercicios resueltos de menú con Python

3Eva_IIT2009_T2 Registrar alquiler de casilleros

Solución propuesta: s3Eva_IIT2009_T2 Registrar alquiler de casilleros

2Eva_IIT2009_T3 Controlar saldos prepago

Solución propuesta: s2Eva_IIT2009_T3 Controlar saldos prepago

2Eva_IIT2015_T4 biciespol, prestamos de bicicletas

Solución propuesta: s2Eva_IIT2015_T4 biciespol, prestamos de bicicletas

2Eva_IT2006_T1 Donaciones defensa civil

Solución propuesta: s2Eva_IT2006_T1 Donaciones defensa civil

3Eva_IIT2015_T1 Mensajes en redes sociales y etiquetas

Solución propuesta: s3Eva_IIT2015_T1 Mensajes en redes sociales y etiquetas

3Eva_IIT2015_T2 Gestionar mensajes con etiquetas

Solución propuesta: s3Eva_IIT2015_T2 Gestionar mensajes con etiquetas

1Eva_IIT2002_T1a Crea tablas de multiplicar con strings del 1 a n

Solución propuesta: s1Eva_IIT2002_T1a Crea tablas de multiplicar con strings del 1 a n


Ejercicios por desarrollar

3Eva_IIT2013_T4 Gestionar asientos en cine

3Eva_IT2013_T3 Menú de consejerías académicas

3Eva_IIIT2003_T2 Socios del club por género