Finding x value for y values on a dataset.

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!

 Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by