MATLAB Answers

0

Noninfinite endpoints or increment for colon operator in index

Asked by Araxie Demirjian on 13 Aug 2018
Latest activity Commented on by Walter Roberson
on 13 Aug 2018

the error occurs in line 92 (if isnan(max(allPositions(frameOneCellRow+1 : endCellRow, counter))))

%{
MaxMinAccelAndVelCalclator
Ryan Kulwicki
07/06/2017
Calculates the maximum and minimum acceleration and velocity for each 
marker over a given number of frames.
-------------------------------------------------------------------------
 HELP: If you are having trouble getting the file to save, make sure it
       is saved as a "Microsoft Excel Macro-Enable Worksheet" or .xlsm
       and make sure that the file name does not end in ".ts".
   NOTE: Matrices are stored as a 4x4 matrix.
         - 1st Row: Max Velocity X, Y, Z, R
         - 2nd Row: Frames where above maxs occur
         - 3rd Row: Min Velocity X, Y, Z, R
         - 4th Row: Frames where above mins occur
         - 5th Row: Max Acceleration X, Y, Z, R
         - 6th Row: Frame where above maxs occur
         - 7th Row: Min Acceleration X, Y, Z, R
         - 8th Row: Frame where above mins occur
  -------------------------------------------------------------------------
  %}
clear
fprintf('\nPLEASE ENTER THE CORTEX DATA FILEPATH WITH FILENAME.\n');
fprintf(' - (This can be found by right clicking on the file and selecting\n');
fprintf('   "properties" and adding the file name plus a backslash.)\n');
userFilePath=input(' - Example: C:\\Users\\John\\Desktop\\excelFileExample\n', 's');
allPositions = xlsread(userFilePath);
%Positions where the total number of frames is and
%where the first frame starts and where the last frame ends.
totalFrames = allPositions(1,3);
frameOneCellRow = find(allPositions(1:50,1) == 1);
endCellRow = totalFrames + frameOneCellRow - 1;
%Here is where we start calculating---------------------------------------
%Initializing the marker matrices
counter = 6;
tempMatrix = zeros(8,4);
TopHead = zeros(8,4);                                       %Marker 1
FrontHead = zeros(8,4);                                     %Marker 2
RearHead = zeros(8,4);                                      %Marker 3
RShoulder = zeros(8,4);                                     %Marker 4
ROffset = zeros(8,4);                                       %Marker 5
RElbow = zeros(8,4);                                        %Marker 6
RWrist = zeros(8,4);                                        %Marker 7
LShoulder = zeros(8,4);                                     %Marker 8
LElbow = zeros(8,4);                                        %Marker 9
LWrist = zeros(8,4);                                        %Marker 10
RAsis = zeros(8,4);                                         %Marker 11
LAsis = zeros(8,4);                                         %Marker 12
VSacral = zeros(8,4);                                       %Marker 13
RThigh = zeros(8,4);                                        %Marker 14
RKnee = zeros(8,4);                                         %Marker 15
RShank = zeros(8,4);                                        %Marker 16
RAnkle = zeros(8,4);                                        %Marker 17
RHeel = zeros(8,4);                                         %Marker 18
RToe = zeros(8,4);                                          %Marker 19
LThigh = zeros(8,4);                                        %Marker 20
LKnee = zeros(8,4);                                         %Marker 21
LShank = zeros(8,4);                                        %Marker 22
LAnkle = zeros(8,4);                                        %Marker 23
LHeel = zeros(8,4);                                         %Marker 24
LToe = zeros(8,4);                                          %Marker 25
RKneeMedial = zeros(8,4);                                   %Marker 26
RAnkleMedial = zeros(8,4);                                  %Marker 27
LKneeMedial = zeros(8,4);                                   %Marker 28
LAnkleMedial = zeros(8,4);                                  %Marker 29
RFootANT = zeros(8,4);                                      %Marker 30
RFootLAT = zeros(8,4);                                      %Marker 31
LFootANT = zeros(8,4);                                      %Marker 32
LFootLAT = zeros(8,4);                                      %Marker 33
%{
 - The "k" for loop goes through all markers
 - The "i" loop goes through the velocity and acceleration of each marker.
  The first iteration is for the velocity and the second for accel.
 - The "j" loop goes through the various parts of the marker data. This
  includes X Y Z and R data, and the frame which they occur  
%}
for k = 1:33
    for h = 1:2
        for j = 1:4
            %Maximum
            %frame (if more than one max, it picks the first)
            %Minimum
            %frame (if more than one min, it picks the first)
            if isnan(max(allPositions(frameOneCellRow+1 : endCellRow, counter)))
                tempMatrix(4*h-3,j) = 0;
                tempMatrix(4*h-2,j) = 0;
                tempMatrix(4*h-1,j) = 0;
                tempMatrix(4*h,j) = 0;
            else
                tempMatrix(4*h-3,j) = max(allPositions(frameOneCellRow+1 : endCellRow, counter));
                tempMatrix(4*h-2,j) = find(allPositions(frameOneCellRow+1 : endCellRow, counter)==tempMatrix(4*h-3,j),1)+1;
                tempMatrix(4*h-1,j) = min(allPositions(frameOneCellRow+1 : endCellRow, counter));
                tempMatrix(4*h,j) = find(allPositions(frameOneCellRow+1 : endCellRow, counter)==tempMatrix(4*h-1,j),1)+1;
            end
              counter = counter + 1;
          end
      end
      if counter == 14                                        %Marker 1                                             
          TopHead = tempMatrix;
      elseif counter == 25                                    %Marker 2
          FrontHead = tempMatrix;
      elseif counter == 36                                    %Marker 3
          RearHead = tempMatrix;
      elseif counter == 47                                    %Marker 4
          RShoulder = tempMatrix;
      elseif counter == 58                                    %Marker 5
          ROffset = tempMatrix;
      elseif counter == 69                                    %Marker 6
          RElbow = tempMatrix;
      elseif counter == 80                                    %Marker 7
          RWrist = tempMatrix;
      elseif counter == 91                                    %Marker 8
          LShoulder = tempMatrix;
      elseif counter == 102                                   %Marker 9
          LElbow = tempMatrix;
      elseif counter == 113                                   %Marker 10
          LWrist = tempMatrix;
      elseif counter == 124                                   %Marker 11
          RAsis = tempMatrix;
      elseif counter == 135                                   %Marker 12
          LAsis = tempMatrix;
      elseif counter == 146                                   %Marker 13
          VSacral = tempMatrix;
      elseif counter == 157                                   %Marker 14
          RThigh = tempMatrix;
      elseif counter == 168                                   %Marker 15
          RKnee = tempMatrix;
      elseif counter == 179                                   %Marker 16
          RShank = tempMatrix;
      elseif counter == 190                                   %Marker 17
          RAnkle = tempMatrix;
      elseif counter == 201                                   %Marker 18
          RHeel = tempMatrix;
      elseif counter == 212                                   %Marker 19
          RToe = tempMatrix;
      elseif counter == 223                                   %Marker 20
          LThigh = tempMatrix;
      elseif counter == 234                                   %Marker 21
          LKnee = tempMatrix;
      elseif counter == 245                                   %Marker 22
          LShank = tempMatrix;
      elseif counter == 256                                   %Marker 23
          LAnkle = tempMatrix;
      elseif counter == 267                                   %Marker 24
          LHeel = tempMatrix;
      elseif counter == 278                                   %Marker 25
          LToe = tempMatrix;
      elseif counter == 289                                   %Marker 26
          RKneeMedial = tempMatrix;
      elseif counter == 300                                   %Marker 27
          RAnkleMedial = tempMatrix;
      elseif counter == 311                                   %Marker 28
          LKneeMedial = tempMatrix;
      elseif counter == 322                                   %Marker 29
          LAnkleMedial = tempMatrix;
      elseif counter == 333                                   %Marker 30
          RFootANT = tempMatrix;
      elseif counter == 344                                   %Marker 31
          RFootLAT = tempMatrix;
      elseif counter == 355                                   %Marker 32
          LFootANT = tempMatrix;
      elseif counter == 366                                   %Marker 33
          LFootLAT = tempMatrix;
      end
      counter = counter + 3;
  end

  6 Comments

At the point that the error occurs what shows up for

frameOneCellRow
endCellRow

Sign in to comment.

Products

0 Answers