Effacer les filtres
Effacer les filtres

Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Counting the from when data changes to 0 then changes back to a number

1 vue (au cours des 30 derniers jours)
Franchesca
Franchesca le 13 Mai 2014
Clôturé : MATLAB Answer Bot le 20 Août 2021
This is my code:
%% Import data
numfiles = 54; % number of excel files mydata=cell(numfiles,1); % defining size of mydata d=dir('Trial*.csv');
for i=7:length(mydata) % loop to import mutliple excel files
try
mydata{i} = xlsread(d(i).name); % import files into mydata
catch
disp([d(i).name 'read failed'])
end
myfilename = sprintf('Trial%02d.csv', i); % define file name
mydata{i} = xlsread(myfilename); % import files into mydata
%% Perfrom Calculations
%%Define variables
a= 9.81; % acceleration
fps = 250; % frames per second
%%Calculate Jump Height
no_of_zeros(i,1) = size(mydata{i,1},1) - nnz(mydata{i,1}(:,5)); %number of zeros
no_of_frames = (no_of_zeros(i,1)/4); % number of frames
time = ((no_of_frames/fps)/2); % time up
jumph(i,1)=((a*(time*time))/2); % jump height
Looking at the calculate jump height, it calculates correctly for the first 2 trials but then gives large over estimations for nealry all the other trails. It was a while ago I wrote this could someone clarify this line of code for me as this is where the trouble lies, I'm unsure with the ,1.
no_of_zeros(i,1) = size(mydata{i,1},1) - nnz(mydata{i,1}(:,5)); %number of zeros
  4 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 13 Mai 2014
Franchesca, zeros are also numbers. Your question and your comment are different. Do you need to count the number of zeros or how many time they switch from zero to non zero?
Franchesca
Franchesca le 13 Mai 2014
Sorry, from the numbers to zeros so count the number of zeros from the point in the column where the first zero appears to where that block of zeros ends.

Réponses (1)

Azzi Abdelmalek
Azzi Abdelmalek le 13 Mai 2014
Modifié(e) : Azzi Abdelmalek le 13 Mai 2014
a=[1 1 0 0 4 5 0 0 7 4 7 0 0 0 7]
idx=[ 1 a~=0 1]
ii=strfind(idx,[1 0])
jj=strfind(idx,[0 1])
out=jj-ii

Cette question est clôturée.

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by