# Plotting points that pass through y for x,y,z coordinates

1 view (last 30 days)
jacob Mitch on 24 Nov 2019
Commented: Stephan on 25 Nov 2019
I have a Data file of 3 rows 20 columns with the first row being x, second being y, third being z
Data=[0.345 0.343 0.341 0.339 0.337 %sample x data
-0.005 -0.002 -0.00069 0.0015 0.0034 %sample y data
0.284 0.284 0.284 0.284 0.284] %sample z data
I am able to plot the data in the x,z cordinates using
plot(Data(1,:),Data(3,:));
My question is how would I find and plot point that pass through y=0, on this graph say in red circles. I am a bit unsure since the plot is in x,z coordinates and I do not have a strict y=0 value in my data. Any help would be really appreciated.

Stephan on 24 Nov 2019
Data=[0.345 0.343 0.341 0.339 0.337 %sample x data
-0.005 -0.002 -0.00069 0.0015 0.0034 %sample y data
0.284 0.284 0.284 0.284 0.284] %sample z data
plot(Data(1,:),Data(3,:));
x0 = interp1(Data(2,:),Data(1,:),0)
z0 = interp1(Data(2,:),Data(3,:),0)
hold on
scatter(x0,z0,'or')
hold off

jacob Mitch on 24 Nov 2019
Stephan, thank you so much this helps me understand a lot better, is it possible to do with more with a larger Data set, say y has multiple passes through 0.
Stephan on 25 Nov 2019
I dont think that interp1 would be suitable for this. But you could write your own function to do so. All you need to do is find all the pairs where the sign changes in your data and the corresponding values to them. Then perform a linear calculation on this pairs to find the values you're looking for.

Translated by