
Notas Lab 10
Sofía Chávez Bastidas 9 Jun9 de Junio a las 17:53 hrs.2025-06-09 17:53:09
Buenas tardes
Están publicadas las notas del laboratorio 10, la separación fue:
- Preparación e informe: Ignacio.
- Laboratorio: Sofía.
Hubo casos en que entregaron en el formato equivocado, les recordamos seguir las indicaciones del enunciado respecto a las entregas, en caso de que no quede claro no duden en preguntar.
En particular sobre el laboratorio, las recomendaciones son:
1. Realizar las operaciones paso a paso para facilitar la corrección de errores:
Es más difícil encontrar el error en el código
m=(n*sum(metros.*kilos)-sum(metros)*sum(kilos))/(n*sum(metros.*metros)-sum(metros)^2)
que si lo hacen paso a paso:
metros2 = metros.*metros<br />metros_kilos = metros.*kilos<br />d = n*sum(metros2)-sum(metros)^2<br />m = (n*sum(metros_kilos)-sum(metros)*sum(kilos))/d
2. Detenerse a pensar qué función están usando y qué parametros usa:
Supongamos que quiero calcular
meses = [23, 54, 61, ... , 45] kilos = [1, 4, 6, ... , -1]Si intento calcular
r = sum(meses * kilos)Se cae, porque edades es una lista y kilos también. Podría simplemente cambiarlo por
r = sum(meses)*sum(kilos)y "hacerlo funcionar", pero que el código corra no significa que sea correcto.
Si entonces alguien me comenta que hay que usar .* en vez de * , sería fácil hacer el cambio
r = sum(meses).*sum(kilos)y pensar que con eso tengo listo el cálculo, el código corre y estoy usando la función que me dijeron, pero no siempre se cumple que
¿Qué quiero hacer? Calcular una suma.
¿Qué estoy sumando? El producto de dos listas.
¿Cómo las multiplico? Usando .* que es para multiplicar listas elemento a elemento,.
Con eso pueden saber que tienen que utilizar sum solo una vez y que tienen que usar .* para multiplicar los meses por los kilos. Esto les ayudará no solo a detectar errores de operadores, como cuando usan * en vez de .* , sino que también a veces les permite detectar que se confundieron con los argumentos de la función.
Por ejemplo, si tengo una lista de ingresos sin tarifas y quiero calcular su valor después de aplicarlas:
ingresos_sin_tarifas = [102, 203, 184, ... , 234] tarifas = [0.3, 1.4 , 1.3, ... , -1.4]Si hago
ingresos_con_tarifas = ingresos_sin_tarifas * tarifasestoy usando la operación correcta, porque quiero multiplicar cada elemento de la lista ingresos_sin_tarifa por un escalar (un número con el total de tarifas), pero el error es porque en vez de mulltiplicarlo por la suma de las tarifas, lo estoy multiplicando por la lista con sus valores.
El error no es la función que estoy usando, sino qué le estoy pasando, entonces deberia hacer:
ingresos_con_tarifas = ingresos_sin_tarifas * sum(tarifas)y obtengo una lista con cada uno de los ingresos sin tarifas multiplicados por la suma de las tarifas. Espero se haya entendido. Saludos cordiales.
Compartir | |
---|---|
Categoría | Retroalimentación |
Última Modificación | 9 Jun9 de Junio a las 17:58 hrs.2025-06-09 17:58:09 |
Vistas Únicas | 27 |
Comentarios |
|