Método de bisección en Python

Поділитися
Вставка
  • Опубліковано 18 гру 2024

КОМЕНТАРІ •

  • @ivanbenjamincastromedrano4451
    @ivanbenjamincastromedrano4451 4 роки тому +2

    gracias por subir este video, me fue de mucha ayuda.

  • @carlosdiaz-gy3yf
    @carlosdiaz-gy3yf 4 роки тому +4

    Gracias por el aporte, muy bien explicado.

  • @gilbertojuarezrodriguez602
    @gilbertojuarezrodriguez602 2 роки тому +2

    Gracias mi pibe, sos un crack

  • @tikismo
    @tikismo 3 роки тому +2

    buena explicación !

    • @programmath
      @programmath  3 роки тому

      Mucha gracias por tu comentario.

  • @memosk8code
    @memosk8code 4 роки тому +3

    muy buen video, habrá una forma de solicitar la función al usuario?
    Gracias !

    • @programmath
      @programmath  4 роки тому +4

      Conozco una forma, pero involucra variables simbólicas. Cuando tenga tiempo, haré un video sobre ese tipo de variables en Python y sus usos (en el canal hay varios videos sobre el uso de este tipo de variables, pero con MATLAB).

    • @programmath
      @programmath  3 роки тому +3

      En este video encontrarás como solicitar la función, incluso esta es derivada por Python pero, como dije, requiere de variables simbólicas.
      ua-cam.com/video/lq02z1Xrlq8/v-deo.html

  • @evilAlma44
    @evilAlma44 3 місяці тому +1

    simplemente god

  • @dagobertoarce9778
    @dagobertoarce9778 Рік тому

    como instalo libreria en spyder?

  • @fabricioa.carinelli8270
    @fabricioa.carinelli8270 3 роки тому

    No entiendo el tema del m1. Porque cuando m y m1 esten tan cerca (mas cerca que el error) el programa debe parar? que siginifica eso matematicamente?

    • @programmath
      @programmath  3 роки тому +1

      Significa que ya tienes una aproximación con la precisión deseada. Por ejemplo, si la tolerancia es 10^(-5) podemos decir que al menos ya tenemos 4 dígitos exactos en la aproximación de la raíz.

  • @zackvillalta9253
    @zackvillalta9253 2 роки тому

    Hola excelente video podrías ayudarme con algunos ejercicios que tengo a los cuales no le entiendo te lo agradecería mucho:)

    • @programmath
      @programmath  2 роки тому

      Escríbeme uno por acá y te oriento en lo que me sea posible.

    • @zackvillalta9253
      @zackvillalta9253 2 роки тому

      @@programmath ok gracias porque la verdad no logre poder entenderle mucho a penas empiezo con el tema de Python. El ejercicio es 1- crear un programa en Python para encontrar el area de un cuadrado(investigar cómo sacar raíz cuadrada) también podrías darme algún correo o número para comunicarme contigo te lo agradecería mucho saludos

    • @programmath
      @programmath  2 роки тому

      No puedo dar información de contacto. Lo que sí puedo hacer es orientarte con la raíz cuadrada; la forma más directa es emplear la instrucción pow, que calcula potencias. En ella pow(x,3) significa x^3; si quieres raíz cuadrada usa pow(x, 0.5)
      Otra forma de hacerlo es con la instrucción sqrt de la librería math
      from math import *
      print(sqrt(5))
      Eso te mostrará la raíz cuadrada de 5.
      Si prefieres hacer llamado de librería con prefijo, haz algo como esto
      import math as mt
      print(mt.sqrt(5))
      Recuerda que al cargar librerías de esta forma debes anteponer el prefijo al comando (por eso se escribió mt.sqrt)

  • @jamilexcabezas9351
    @jamilexcabezas9351 4 роки тому

    Hola tengo una consulta , como seria para un ln (×)^2=0.7

    • @programmath
      @programmath  4 роки тому

      En el def f(x): después del return, escribir
      pow(log(x),2)-0.7
      también es válido log(x)**2 - 0.7
      Si la libreria math fue cargada mediante importh math, en ese caso el logaritmo se escribe math.log(x)

  • @taniabook8873
    @taniabook8873 Рік тому

    como quedaria con la funcion x-sin(x)

    • @programmath
      @programmath  Рік тому

      from math import *
      def f(x):
      return x-sin(x);

  • @juliancriollo9318
    @juliancriollo9318 3 роки тому

    como seria para 𝑥**6−3𝑥−1 ? y que pongo en los limites ?

    • @programmath
      @programmath  3 роки тому +1

      En los límites se debe poner dos valores que generen el cambio de signo al evaluar en la función. Mi consejo, tomar a=0 ya que al evaluar da negativo, -1 para ser específico; por otra parte, el término dominante es x^6 así que cualquier valor grande para x sirve, pero en este caso basta con b=2 para que al evaluar de positivo, de hecho daría 57.

    • @juliancriollo9318
      @juliancriollo9318 3 роки тому

      @@programmath si podrías hacer un video seria de mucha ayuda ya que me salen errores:
      line 4, in f return (x**6)-3(x)-1;
      line 10, in biseccion if (f(a)*f(b)>0):
      line 25, in biseccion(0,0,2)

    • @programmath
      @programmath  3 роки тому +1

      El error está en el 3x, debes escribir 3*x

    • @juliancriollo9318
      @juliancriollo9318 3 роки тому

      from math import*
      def f(x):
      return (x**6)-3(x)-1;
      def biseccion(a,b,tol):
      m1=a;
      m=b;
      k=0;
      if (f(a)*f(b)>0):
      print('La funcion no cambia de signo');
      while(abs(m1-m)>tol):
      m1=m;
      m=(a+b)/2;
      if(f(a)*f(m)

    • @programmath
      @programmath  3 роки тому +1

      En el def f(x) la función no se escribió adecuadamente, escríbelo así
      return x**6-3*x-1

  • @tenjo6669
    @tenjo6669 3 роки тому +1

    Gracias pa

  • @desantiagoramirezfernandaa2585
    @desantiagoramirezfernandaa2585 2 роки тому

    Al final solo me da un intervalo, ¿Cómo puedo arreglar eso?🤔

    • @programmath
      @programmath  2 роки тому

      Eso se debe a que el print que muestra los intervalos quedó fuera del while. Si quieres ver todos en lugar de solo el último, ingresa el print al while.

    • @desantiagoramirezfernandaa2585
      @desantiagoramirezfernandaa2585 2 роки тому

      @@programmath No es el último, me da solo el primero:(

    • @programmath
      @programmath  2 роки тому

      Por favor, compárteme tu código para revisarlo

    • @desantiagoramirezfernandaa2585
      @desantiagoramirezfernandaa2585 2 роки тому

      from math import *
      def f(x):
      #return sen(x)-pow(x,3);
      #return cos(x)-pow(x,3);
      #return (x**3 + 4*x**2-10);
      return (x-2**(-x));
      #return ((e**(3*x)) - 4);
      def biseccion(a,b,error):
      m1=a;
      m=b;
      k=0;
      if(f(a)*f(b)>0):
      print('La Funcion no cambia de signo');
      while(abs(m1-m)>error):
      m1=m;
      m=(a+b)/2;
      if(f(a)*f(m)

    • @programmath
      @programmath  2 роки тому +1

      Parece que era un inconveniente con las sangrías de lo que va dentro del while. Por cierto, no necesitas el ; para indicar fin de línea en Python a veces se me escapan por la costumbre a C++
      from math import *
      def f(x):
      return cos(x)-pow(x,3);
      def biseccion(a,b,tol):
      m1=a
      m=b
      k=0
      if(f(a)*f(b)>0):
      print('La Funcion no cambia de signo');
      while(abs(m1-m)>tol):
      m1=m;
      m=(a+b)/2;
      if(f(a)*f(m)

  • @JavierLopez-px6sq
    @JavierLopez-px6sq 2 роки тому

    disculpa tal vez me puedes pasar tu contacto necesito comunicarme contigo

  • @emanuelcabrera7816
    @emanuelcabrera7816 2 роки тому

    y para 4(x)**2-5(x)?¿

    • @programmath
      @programmath  2 роки тому

      def f(x):
      return 4*x**2 - 5*x
      Para que el método de bisección funcione, debes iniciar con un intervalo en el cuál la función cambie de signo; por ejemplo [1, 2]

  • @Jonathan-fh6hb
    @Jonathan-fh6hb 3 роки тому

    a dejame adivinar, programas en JAVA, en python no va los ; al final,casi me sorprende jaja :v

    • @programmath
      @programmath  3 роки тому

      En C++ y Matlab, los ; ya son fuerza de costumbre.