find the right condition for my script

2 次查看(过去 30 天)
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 个评论
madhan ravi
madhan ravi 2020-7-9
Could you just illustrate with an example of 2x2 matrix and desired result?
Angela Marino
Angela Marino 2020-7-9
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]';

请先登录,再进行评论。

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by