Ejemplos prácticos
Aplicaciones científicas y matemáticas
Simulación de procesamiento de señales
import numpy as np
import matplotlib.pyplot as plt
def generate_sine_wave(frequency, duration, sample_rate=100):
time = np.arange(0, duration, 1/sample_rate)
signal = np.sin(2 * np.pi * frequency * time)
return time, signal
## Generate multiple frequency signals
frequencies = [1, 5, 10]
plt.figure(figsize=(10, 6))
for freq in frequencies:
time, signal = generate_sine_wave(freq, duration=2)
plt.plot(time, signal, label=f'{freq} Hz')
plt.title('Sine Wave Frequencies')
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.legend()
plt.show()
Cálculos financieros
Proyección de crecimiento de inversión
def investment_projection(initial_amount, interest_rate, years):
return [
initial_amount * (1 + interest_rate) ** year
for year in np.arange(0, years + 0.5, 0.5)
]
## Calculate investment growth
initial_investment = 1000
rates = [0.05, 0.08, 0.12]
for rate in rates:
projection = investment_projection(initial_investment, rate, 10)
print(f"Growth at {rate*100}% interest: {projection}")
Escenarios de ciencia de datos
Muestreo e interpolación
import numpy as np
from scipy import interpolate
def create_custom_sampling():
## Create non-uniform sampling points
x = np.concatenate([
np.arange(0, 10, 2), ## Coarse sampling
np.arange(0, 10, 0.5) ## Fine sampling
])
## Generate corresponding y values
y = np.sin(x)
## Interpolate between points
f = interpolate.interp1d(x, y)
return x, y, f
x, y, interpolation_func = create_custom_sampling()
Preprocesamiento en aprendizaje automático
Escalado de características
def custom_normalization(data, start=0, end=1):
min_val, max_val = min(data), max(data)
return [
start + (x - min_val) * (end - start) / (max_val - min_val)
for x in data
]
## Example usage
raw_data = [10, 20, 30, 40, 50]
normalized_data = custom_normalization(raw_data)
print(normalized_data)
Visualización de flujo de trabajo
graph TD
A[Input Data] --> B[Custom Range Generation]
B --> C[Data Transformation]
C --> D[Analysis/Visualization]
D --> E[Insights/Decisions]
Comparación de técnicas prácticas
Técnica |
Caso de uso |
Complejidad |
Rendimiento |
Rangos de NumPy |
Computación científica |
Media |
Alto |
Generadores personalizados |
Escenarios flexibles |
Alta |
Medio |
Interpolación |
Muestreo de datos |
Alta |
Bajo-Medio |
Consejo de aprendizaje de LabEx
Experimente con estas técnicas en los entornos interactivos de Python de LabEx para obtener experiencia práctica con métodos avanzados de generación de rangos y secuencias.
Puntos clave
- La generación flexible de rangos va más allá de las simples secuencias de enteros.
- Diferentes dominios requieren técnicas especializadas de creación de secuencias.
- Siempre considere los requisitos de rendimiento y precisión.
- Aproveche bibliotecas como NumPy para cálculos complejos.