I know a certain y1 and I want to find the respective x1.
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(4 个)
darova
2019-6-14
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
0 个评论
James Browne
2019-6-15
编辑:James Browne
2019-6-15
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 个评论
James Browne
2019-6-15
I somehow messed up on the upload, I corrected the previous answer, it should work now.
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!