find the right condition for my script

2 views (last 30 days)
Given the variables present in the .mat file, I need to find the values ​​of the rows of the "distance" matrix (also using only the first column of values) in correspondence of which I have
in == 1
and
veloc == 0
This is how i wrote my code but i think i was wrong because i can't get the right result
r=0.007*ones(28,1);
[latc, lonc] = scircle1(lat_ferm(:,1), long_ferm(:,1), r);
for l=1:28
in = inpolygon(lat,lon,latc(:,l),lonc(:,l));
veloc_ferm=veloc(in);
idx=double(in(:,1));
%METTERE CONDIZONE SULLA VELOCITA'PER INIDIVIDUARE OPPORTUNAMENTE IDX
%E LA POSIZIONE DELLE FERMATE
[r c] = find(veloc(:,1)==0);
v = diff(r);
[r1 c3] = find(v > 1);
pos_fermateR2(:,1)=distanza(r(r1(in)));
end
  2 Comments
madhan ravi
madhan ravi on 9 Jul 2020
Could you just illustrate with an example of 2x2 matrix and desired result?
Angela Marino
Angela Marino on 9 Jul 2020
Yes, e.g. if I consider only the first column
in=[0 1 1 0 0 0 0 1 1 1 0]';
veloc=[0.213 0 0 1.32 1.34 1.33 1.20 0 0 0 1.34]';
distanza=[10 11 11 12 13 14 15 16 16 16 17]';
pos_fermateR2=[11 16]';

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 9 Jul 2020
pos_fermateR2 = unique(distanza((in==1) & (veloc==0)))
  5 Comments
Angela Marino
Angela Marino on 9 Jul 2020
Sorry, I meant the value that corresponds to the first instant equal to zero, but for each sequence of zeros
madhan ravi
madhan ravi on 9 Jul 2020
Edited: madhan ravi on 9 Jul 2020
You maybe better off starting a new question.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!