Construct an array from the position of a certain value in a matrix

1 view (last 30 days)
Richard Wood
Richard Wood on 24 Oct 2020
Commented: Stephen on 25 Oct 2020
Hello everyone
Let's assume we have a matrix, which I attach, matrix.dat, which has 220x200 elements (https://we.tl/t-KwSPQEsCtf link to download the aformentioned matrix). This matrix would correspond to the definition of two physical quantities, given by
time=horzcat(linspace(0,20,200),linspace(21.1,40,20));
field=linspace(0,50,200);
What I am looking for is that, when there is, for a time element, a value in the matrix that is equal to 1.5708, the value of the first field element is stored in a new array. As you can see, for the first elements of time, there is no matrix value that matches the aforementioned value of 1.5708. So I don't know beforehand what the dimension of my vector will be, ?x1 elements. Is there an efficient way to build the above array?
  1 Comment
Stephen
Stephen on 25 Oct 2020
This seems like something that might be solves using interpolation or perhaps one of the contour functions. Can you please show us the first few terms of the expected output vector.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by