intersection of a line y=ax+b with a matrix containing x and y

1 visualización (últimos 30 días)
Mary
Mary el 2 de En. de 2021
Comentada: Mary el 3 de En. de 2021
Dear Matlab users,
What I want to do is very simple. I am wondering if there is already a function in Matlab written for it. I explain the idea:
I have two vectors: vec_x and vec_y. At the other hand, I have a line which is described as y=ax+b
I want to find the intersection between this line y=ax+b with the set of vectors vec_x and vec_y. And lets asuume that to keep the accuracy as high as possible, we dont want to find a polynomial function which links vec_x to vec_y.
Below, I give a very simple example:
vec_x=[1 2 3]; vec_y= [1 2 3];
and the line is y=5x-10;
so I would start by replacing all the values of vec_x in the line to see if any of vec_y is obtaind. If this step fails that means I shoud creat a new vec_x_new= 1:step:3, and make an interpolation to find vec_y_new (vec_y_new=interp1(vec_x, vec_y, vec_x_new). So I keep changing the "step", till I found that for vec_x_new(i)=2.5 -> y=a vec_x_new(i) + b = 2.5; and 2.5 = vec_y_new(i)
So, now the question is whether this idea already exists in terms of a function in Matlab.
Thanks a lot for your help,
Best regards,
Mary
  2 comentarios
Mathieu NOE
Mathieu NOE el 2 de En. de 2021
hello Mary
there are maybe some already good code for what you intend to do
Mary
Mary el 3 de En. de 2021
thanks Mathieu. I think indeed, fzero should be used.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 2 de En. de 2021
Editada: Matt J el 2 de En. de 2021
x_intersection = fzero(@(x) a*x+b-interp1(vec_x,vec_y,x) , vec_x([1,end]) )

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by