how to get Y Value from a plot having 3 curves as shown in figure?
조회 수: 1(최근 30일)
Please give me method to solve this problem either in script or App Designer any method is lot of helpful.
Question Described : I have a plot with multiple curve (Image attached).
Input i have X axis and Curve Data, for this i need to get Y value.
Plot looks like this. see Attachment >> Now For X value (@ point Q between P1 & P2) I should find Y.
Here If i give 2 inputs
Input1 >> data of P1,P2 Or P3 Or inbetween P1 & P2
input2>> X value
Output Requried Y >> for above inputs.
Thanks for Help.
Star Strider 2021년 8월 30일
Try something like this —
x = linspace(0, 5);
C1 = 5+(x-2).^2;
C2 = 2+(x-1).^4;
xint = interp1(C1-C2, x, 0)
yint = interp1(x, C1, xint)
hp1 = plot(x, C1);
hp2 = plot(x, C2);
plot([0 xint], [1 1]*yint, '--k')
plot([1 1]*xint, [0 yint], '--k')
hp3 = plot(xint, yint, 'xg', 'MarkerSize',15);
legend([hp1,hp2,hp3], 'C_1', 'C_2', 'Intersection', 'Location','best')
I have no idea if your curves are functions or data. If they are functions, it would be necessary to evaluate them first to use this code. (If they are functions and you want to evaluate the intersections as functions, you would need to use fzero or fsolve.)
KALYAN ACHARJYA 2021년 8월 30일
편집: KALYAN ACHARJYA 2021년 8월 30일
I have assumed that you have the 3 data for three individual plot, with respect to same x values, let say y1,y2,y3 for the same value of x
idx=find(val1==min(val1)) %Get the index of first intersection of y1 & y2
Do the same for other plot, also you may look for other solutions too-