Finding x value for y values on a dataset.

3 views (last 30 days)
Say I have this matrix:
y = [-5 -4 -3 -2 -1 0 1 2 3 4 5;
-6 -5 -4 -3 -2 -1 0 1 2 3 4;
0 1 2 3 4 5 6 7 8 9 10];
And this is my domain:
x = [0 1 2 3 4 5 6 7 8 9 10 ];
and I plot them like so
plot(x, y)
How can I find the x values when my y values cross a value like 3.5?
I would like my output to be
output = [9 10 5]
Thanks!

Accepted Answer

the cyclist
the cyclist on 16 Nov 2021
The algorithm you want is not perfectly clear, and I can't see quite how you get the output from your input. But it seems that you want something like this?
y = [-5 -4 -3 -2 -1 0 1 2 3 4 5;
-6 -5 -4 -3 -2 -1 0 1 2 3 4;
0 1 2 3 4 5 6 7 8 9 10];
nyrows = size(y,1);
output = zeros(1,nyrows);
for ny = 1:nyrows
output(ny) = find(y(ny,:)>3.5,1) - 1; % Not sure exactly which element you want
end
disp(output)
9 10 4

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!