Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Increasing value of filter till required number of solutions each reached
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
I need a while loop to increase the length, n, of a filter until I have 8 values that satisfy a result. The code that I have does not seem to work.
index = [];
while length(index)>8
    n = 1;
    filtered_ipam_relative_hand_position = moving_average_filter(ipam_relative_hand_position, n);
    velocity=zeros(size(filtered_ipam_relative_hand_position));
    for i=1:length(data)
    for j= 1:3
        x = i-1;
        y = i+1;
        if x == 0
            x = 1;
        else
            if i == length(data)
                y = length(data);
            end
        end
        velocity(i,j) = (filtered_ipam_relative_hand_position(y,j)- filtered_ipam_relative_hand_position(x,j))/0.08;
    end
    end
     magnitude_velocity = zeros(length(velocity),1);
     for i=1:length(data)
         magnitude_velocity(i)=((velocity(i,1))^2 + (velocity(i,2))^2 + (velocity(i,3))^2)^0.5;
     end
     for i=1:length(data)-1
         if (magnitude_velocity(i+1,1)<0.01) && (magnitude_velocity(i,1)>0.01)
           index = [index i];
         end
     end
     n=n+1;
end
0 commentaires
Réponses (1)
  Walter Roberson
      
      
 le 22 Mar 2013
        length([]) is 0, which is <= 8, so your "while" loop never executes.
2 commentaires
  Walter Roberson
      
      
 le 26 Mar 2013
				The problem is not your definition of "index", the problem is your "while" condition.
Cette question est clôturée.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

