En este tutorial se muestra como usar el comando find de MatLAB. Se resuelve el problema de la intersección de dos funciones. Se extiende una disculpa por la confusión con el sentido derecho e izquierdo presente en el video.
Пікірлер: 19
@linettefernandaduartegueva3592 Жыл бұрын
muchas gracias por tu explicación
@LuzMasLuz Жыл бұрын
Con mucho gusto.
@cruzromeroalexa95512 жыл бұрын
Hola profesor, disculpe la duda, estoy realizando un código para encontar la intersección entre las dos siguientes funciones, pero tengo un mensaje que se imprime en pantalla " 1×0 empty double row vector" si grafica pero no señala los puntos de intersección :c ¿Sabe como posría resolverlo?. clc clear x=0:0.00001:1; y1=-1.2223*x+0.8889; y2=-0.2104*x.^6 + 0.8928*x.^5 - 1.7602*x.^4 + 2.2956*x.^3 - 2.3978*x.^2 + 2.1801*x + 6E-07; plot(x,y1,x,y2) p=double(find(y1==y2)) fprintf('Punto de intersección es: %2.4d ',x(p)) hold on plot(x(p),y1(p),'ro')
@LuzMasLuz Жыл бұрын
Hola Alexa, una disculpa por la tardanza en responder. El problema está en: p=double(find(y1==y2)) La única forma que y1 sea igual a y2, desde el punto de vista numérico, es que los valores de las dos funciones en ese punto sean EXACTAMENTE iguales, algo que solo en casos MUY pero MUY especiales ocurrirá. Te sugiero considerar un margen de error y modificar esa línea de la siguiente forma: error = 0.00001; p=find(abs(y1-y2)
@armandoreta31893 жыл бұрын
Gracias
@LuzMasLuz3 жыл бұрын
Con mucho gusto.
@domenicasuasnavas45707 жыл бұрын
Hola disculpa y no puedo formar una vector pero no con los indices sino con los valores usando find?....
@LuzMasLuz7 жыл бұрын
Hola Domenica. Yo lo que hago en ese caso es: primero encuentro los índices y luego evalúo el vector o matriz en dichos índices. Este es un ejemplo: A=magic(3) %crea un cuadrado mágico 3x3 k=find(A>5) %almacena en k los índices lineales donde A>5 valores=A(k) Debe haber un método más rápido... pero es como generalmente lo hago. Saludos y gracias por ver el video.
@sebastianmurillo3923 жыл бұрын
profe disculpe y la continuacion de la tarea que puso donde se encuentra
@LuzMasLuz3 жыл бұрын
¡Hola Sebastián!, ¿te refieres a la continuación de la tarea del producto vectorial?
@FernandoRomero-qn4sm4 жыл бұрын
hola disculpa una pregunta la funcion find trabaja de la misma manera en vectores y en matrices? o en que se diferencian
@LuzMasLuz4 жыл бұрын
Hola Fernando, una disculpa por la tardanza en responder... algunas veces los comentarios de youtube no me llegan ni al correo ni me quedan en un lugar visible de la bandeja de mensajes del youtube. Lastimosamente ese fue el caso de tu pregunta. La respuesta es Sí, opera de forma igual en vectores que en matrices. A decir verdad casi no hay diferencia entre aplicar FIND a un vector o a una matriz, pues las matrices se pueden tratar como elementos de un solo índice en vez de dos. Permíteme me explico mejor con un ejemplo: v = [17 18 19 20 21]; find(v>19) >> ans = 4 5 En este caso la respuesta es 4 y 5 porque sólo los elementos 4 y 5 del vector v son mayores que 19. Por otra parte, A = [12 13 14; ... 15 16 17; ... 18 19 20]; find(A>16) >> ans = 3 6 8 9 en este caso la respuesta es 3, 6, 8 y 9 porque los elementos de la matriz A están etiquetados de la siguiente forma: 1 4 7 2 5 8 3 6 9 y como podrás notar, sólo los elementos de A "marcados" como 3, 6, 8 y 9 son mayores que 16. Espero esto responda a tu pregunta. En caso contrario, no dudes en volver a escribir. ¡Saludos!
@juan49724 жыл бұрын
hola, como puedo contar los numeros de la matriz sean mayores que x?
@@LuzMasLuz otra pegunta amigo, como puedo contar las veces que se cumplió una condición ?
@FernandoRomero-qn4sm4 жыл бұрын
hola disculpa una pregunta la funcion find trabaja de la misma manera en vectores y en matrices? o en que se diferencian
@LuzMasLuz4 жыл бұрын
Hola Fernando. Gracias por tu pregunta. Sí, el comando find opera de manera indistinta sobre matrices y sobre vectores. Prácticamente no hay diferencia entre aplicar el comando FIND a una matriz o a un vector, ya que una matriz se puede expresar como un vector usando un solo índice. Por ejemplo, la matriz A = [1 0; 0 1]; de la que se obtiene por resultado A = 1 0 0 1 contiene la misma información que el vector a = [1 0 0 1]'; Como puedes observar, la única diferencia es la forma en la que se organizan los datos. En una matriz se necesitan dos números para ubicar un elemento (el número de la fila y el de la columna) mientras que en un vector sólo se necesita sólo uno (la posición). Cuando se aplica el comando FIND a la matriz "A", se obtiene por resultado: find(A) 1 4 porque los elementos 1 y 4 de la matriz son diferente de cero, pero se obtiene lo mismo si aplicas el comando find al vector "a" find(a) 1 4. Espero responder a tu pregunta. En caso contrario no dudes en volver a escribir. ¡Saludos!