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

1 Ansicht (letzte 30 Tage)
roberta perna
roberta perna am 14 Jun. 2019
Kommentiert: James Browne am 15 Jun. 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

Antworten (4)

Torsten
Torsten am 14 Jun. 2019
x1 = fzero(@(z)interp1(x,y,z)-y1,1)
  2 Kommentare
darova
darova am 14 Jun. 2019
sorry, it works
darova
darova am 14 Jun. 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')

Melden Sie sich an, um zu kommentieren.


darova
darova am 14 Jun. 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 am 14 Jun. 2019
Sorry not work.

James Browne
James Browne am 15 Jun. 2019
Bearbeitet: James Browne am 15 Jun. 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 Kommentare
darova
darova am 15 Jun. 2019
Im afraid it doesn't work
James Browne
James Browne am 15 Jun. 2019
I somehow messed up on the upload, I corrected the previous answer, it should work now.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by