I know a certain y1 and I want to find the respective x1.

3 visualizaciones (últimos 30 días)
roberta perna
roberta perna el 14 de Jun. de 2019
Comentada: James Browne el 15 de Jun. de 2019
I have a graph where x and y are two vectors.
plot(x,y)
I know a certain y1 and I want to find the respective x1.
thanks

Respuestas (4)

Torsten
Torsten el 14 de Jun. de 2019
x1 = fzero(@(z)interp1(x,y,z)-y1,1)
  2 comentarios
darova
darova el 14 de Jun. de 2019
sorry, it works
darova
darova el 14 de Jun. de 2019
It's difficult to choose intial condition:
x = linspace(0,3,10);
y = x.^2;
y1 = 4;
x1 = fzero(@(z)interp1(x,y,z)-y1,1)
plot(x,y,x1,y1,'or')

Iniciar sesión para comentar.


darova
darova el 14 de Jun. de 2019
I'd use polyxpoly or intersections
x = linspace(0,10,20);
y = sin(x);
y1 = 0.6; % find x at y=0.6
xc = [min(x) max(x)]; % boundaries of horizontal line
yc = [y1 y1];
[x1,y1] = polyxpoly(x,y,xc,yc);
plot(x,y,'.-b')
hold on
plot(xc,yc,'.-g')
plot(x1,y1,'or')
hold off

roberta perna
roberta perna el 14 de Jun. de 2019
Sorry not work.

James Browne
James Browne el 15 de Jun. de 2019
Editada: James Browne el 15 de Jun. de 2019
Greetings,
I believe I have a solution to your problem, I wrote a scrip to demonstrate the concept, let me know if this is not what you are looking for and I will try to find a better solution. Here you go:
close all
clear
clc
%set arbitrary values of x, x can be any set of inputs to y(x)
x = [ 1 2 3 4 5 6 7 ];
%generate an arbitrary set of values y(x), y(x) can be any function
y = 2*x;
%Select a known, arbitrary value fromthe y-vector, y1
y1 = y(randi(length(y)))
%Now we first find the index of the value y1
idx = find( y == y1)
%Since every entry in the y-vector is dependant on a corrosponding entry in
%the x-vector, we can use the index value of y1 to find the corrosponding
%value in the x-vector ( x1 ) as follows:
x1 = x(idx)
plot(x,y,x1,y1,'kd')
title('y = f(x) and (x1, y1)')
ylabel('y(x)')
xlabel('x')
legend('y = f(x)','(x1, y1)','location','southeast')
  2 comentarios
darova
darova el 15 de Jun. de 2019
Im afraid it doesn't work
James Browne
James Browne el 15 de Jun. de 2019
I somehow messed up on the upload, I corrected the previous answer, it should work now.

Iniciar sesión para comentar.

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by