Borrar filtros
Borrar filtros

Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

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

1 visualización (últimos 30 días)
Franchesca
Franchesca el 13 de Mayo de 2014
Cerrada: MATLAB Answer Bot el 20 de Ag. de 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 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 13 de Mayo de 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 el 13 de Mayo de 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.

Respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 13 de Mayo de 2014
Editada: Azzi Abdelmalek el 13 de Mayo de 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

La pregunta está cerrada.

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

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

Start Hunting!

Translated by