Finding x value for y values on a dataset.

4 vues (au cours des 30 derniers jours)
Alexander Huang
Alexander Huang le 16 Nov 2021
Commenté : Alexander Huang le 16 Nov 2021
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 cyclist
the cyclist le 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
  1 commentaire
Alexander Huang
Alexander Huang le 16 Nov 2021
Exactly what I needed, thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Mathematics dans Help Center 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