Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

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

1 Ansicht (letzte 30 Tage)
Franchesca
Franchesca am 13 Mai 2014
Geschlossen: MATLAB Answer Bot am 20 Aug. 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 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 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 am 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.

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 13 Mai 2014
Bearbeitet: Azzi Abdelmalek am 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

Diese Frage ist geschlossen.

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by