La Web del Programador: Comunidad de Programadores
 
    Pregunta:  58058 - PUNTO DE INTERSECCION DE UNA LINEA Y UNA CURVA EN MATLAB
Autor:  Ferney Bohórquez González
Estoy realizando un programa en matlab, y necesito que graficamente matlab me encuentre el punto de interseccion de una linea y una curva. El programa me pide los puntos para la linea y la curva, y me las grafica, yo quiero que el me de la funcion de ambas y me de su punto de interseccion. Pero quiero que esto lo haga matlab automaticamente y no que tenga que hacerlo yo. gracias

Este es el programa que he hecho hasta ahora, no me pide datos, por que es solo un programa base, pero la idea es que me los pida, grafique y halle las funciones y el punto de intersección.

C = [0.635 0.572 0.52 0.467 0.398 0.31 0.269 0.21 0.142 0.0832 0.045 0.008];
A = [0.365 0.373 0.39 0.395 0.415 0.427 0.437 0.466 0.484 0.522 0.544 0.555];
B = 1-A-C;
plot ( A, B), hold on

Xa = [0.25 0];
Xc = [0.85 0];
Xb = [0 1];

a1 = Xb;
b1 = Xc;
c1 = Xa;

plot(a1,b1,'r'),hold on

  Respuesta:  Francisco Rogles
Si lo he entendido bien, partes de dos conjuntos de puntos y lo que quieres obtener es la expresión analítica (por ejemplo, y=sen(x), y=x^2-3, etc) de la función de la que proceden y su(s) punto(s) de intersección.

A partir de un conjunto de puntos, no puedes obtener la expresión de la función de la que proceden, siempre hay infinitas funciones de todo tipo que te podrían haber generado esos puntos.

Este tipo de problema suele derivar de procesos reales (medidas en un ensayo de laboratorio o proceso industrial, datos tomados para estadísticas, etc). Hay dos tipos de soluciones:

1. Dependiendo de la forma que tome el conjunto de puntos, se ajusta una curva por el método de mínimos cuadrados. El ajuste puede ser lineal (regresión lineal), puede ser un polinomio, una función racional, etc. Evidentemente, esta curva no pasará necesariamente por todos los puntos, pero se supone que la variación entre las coordenadas reales de los puntos y las teóricas de la curva se deben a errores de medida, precisión de los aparatos, etc.

2. Mediante interpolación, y tanteando, encontrar los puntos de intersección. El método de interpolación depende del conjunto de puntos, pero los más usuales son la interpolación lineal (uniendo cada punto con el siguiente mediante una recta, con lo que la gráfica quedaría como una poligonal), o por splines cúbicos (más complicada, pero más precisa).

La teoría de todo esto la podrás encontrar en textos de Análisis Numérico, pero requiere un nivel alto de Matemáticas.

De todos modos, en MATLAB ya tienes funciones que te efectúan los procesos de ajuste de curvas, interplación, etc.

Espero que te haya servido de ayuda.

Saludos,