• No se han encontrado resultados

Código desarrollado en software Matlab para el cálculo de ángulos entre segmentos

In document PDF Universidad De Monterrey (página 58-111)

PLA TPU/TPE PETG Dureza Alta Media Alta

Anexo 1 Código desarrollado en software Matlab para el cálculo de ángulos entre segmentos

%Calculo de angulos entre segmentos con matriz importada del software IPI

%SOFT clear all clc close all

load('caminandoground_export.mat')%se carga la matriz

n = length(JointsData.RThigh.Coordinate);%Cantidad de frames que se grabaron

%Este FOR es para guardar cada una de las coordenadas x,y,z del RShin en

%otro Struct for i = 1:n

JointsData.RShin.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.RShin.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.RShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.RShin.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.RShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.RShin.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del LShin en

%otro Struct for i = 1:n

JointsData.LShin.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.LShin.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.LShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.LShin.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.LShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.LShin.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del RThigh en

%otro Struct for i = 1:n

JointsData.RThigh.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.RThigh.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.RThigh.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.RThigh.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.RThigh.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.RThigh.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del LThigh en

%otro Struct for i = 1:n

JointsData.LThigh.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.LThigh.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.LThigh.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.LThigh.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.LThigh.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.LThigh.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del RFoot en

%otro Struct for i = 1:n

JointsData.RFoot.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.RFoot.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.RFoot.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.RFoot.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.RFoot.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.RFoot.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del LFoot en

%otro Struct for i = 1:n

JointsData.LFoot.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.LFoot.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.LFoot.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.LFoot.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.LFoot.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.LFoot.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del RToe en

%otro Struct for i = 1:n

JointsData.RToe.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.RToe.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.RToe.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.RToe.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.RToe.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.RToe.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del LToe en

%otro Struct for i = 1:n

JointsData.LToe.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.LToe.CoordenadasP1(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.LToe.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.LToe.CoordenadasP1(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.LToe.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.LToe.CoordenadasP1(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Para obtener el angulo entre dos segmentos primero tuvimos que contruir

%los segmentos utilizando las coordenadas, haciendo la operacion

%RShin-Rthigh,RShin-RFoot,LShin-Lthigh,LShin-LFoot y tambien obtener la magnitud de estos

%segmentos

%Este FOR es para obtener el segmento Rshin-Rthigh for i = (1:n)

A=Marcha.RShin.CoordenadasP1(i,1)-Marcha.RThigh.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.RSRT.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.RShin.CoordenadasP1(i,2)-Marcha.RThigh.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.RSRT.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.RShin.CoordenadasP1(i,3)-Marcha.RThigh.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.RSRT.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.RSRT.MagnitudP1(i,1)=D;%Se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el segmento Lshin-Lthigh for i = (1:n)

A=Marcha.LShin.CoordenadasP1(i,1)-Marcha.LThigh.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.LSLT.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.LShin.CoordenadasP1(i,2)-Marcha.LThigh.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.LSLT.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.LShin.CoordenadasP1(i,3)-Marcha.LThigh.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.LSLT.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.LSLT.MagnitudP1(i,1)=D;%Se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el segmento Rshin-RFoot for i = (1:n)

A=Marcha.RShin.CoordenadasP1(i,1)-Marcha.RFoot.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.RSRF.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.RShin.CoordenadasP1(i,2)-Marcha.RFoot.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.RSRF.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.RShin.CoordenadasP1(i,3)-Marcha.RFoot.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.RSRF.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.RSRF.MagnitudP1(i,1)=D;%Se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el segmento LShin-LFoot for i = (1:n)

A=Marcha.LShin.CoordenadasP1(i,1)-Marcha.LFoot.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.LSLF.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.LShin.CoordenadasP1(i,2)-Marcha.LFoot.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.LSLF.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.LShin.CoordenadasP1(i,3)-Marcha.LFoot.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.LSLF.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.LSLF.MagnitudP1(i,1)=D;%Se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el segmento RFoot-RToe for i = (1:n)

A=Marcha.RFoot.CoordenadasP1(i,1)-Marcha.RToe.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.RFRT.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.RFoot.CoordenadasP1(i,2)-Marcha.RToe.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.RFRT.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.RFoot.CoordenadasP1(i,3)-Marcha.RToe.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.RFRT.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.RFRT.MagnitudP1(i,1)=D;%Se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el segmento LFoot-LToe for i = (1:n)

A=Marcha.LFoot.CoordenadasP1(i,1)-Marcha.LToe.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.LFLT.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.LFoot.CoordenadasP1(i,2)-Marcha.LToe.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.LFLT.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.LFoot.CoordenadasP1(i,3)-Marcha.LToe.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.LFLT.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.LFLT.MagnitudP1(i,1)=D;%Se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el segmento RFoot-RShin for i = (1:n)

A=Marcha.RFoot.CoordenadasP1(i,1)-Marcha.RShin.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.RFRS.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.RFoot.CoordenadasP1(i,2)-Marcha.RShin.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.RFRS.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.RFoot.CoordenadasP1(i,3)-Marcha.RShin.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.RFRS.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.RFRS.MagnitudP1(i,1)=D;%Se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el segmento LFoot-LShin for i = (1:n)

A=Marcha.LFoot.CoordenadasP1(i,1)-Marcha.LShin.CoordenadasP1(i,1);%Se hizo la resta en coordenada X

Marcha.LFLS.RestaP1(i,1)=A;%Se guardo el resultado en otro Struct

B=Marcha.LFoot.CoordenadasP1(i,2)-Marcha.LShin.CoordenadasP1(i,2);%Se hizo la resta en coordenada Y

Marcha.LFLS.RestaP1(i,2)=B;%Se guardo el resultado en otro Struct

C=Marcha.LFoot.CoordenadasP1(i,3)-Marcha.LShin.CoordenadasP1(i,3);%Se hizo la resta en coordenada Z

Marcha.LFLS.RestaP1(i,3)=C;%Se guardo el resultado en otro Struct

D=sqrt((A^2)+(B^2)+(C^2));%Se obtuvo la magnitud del segmento utilizando la raiz cuadrada de la suma de los cuadrados

Marcha.LFLS.MagnitudP1(i,1)=D;%Se guardo en otro Struct

i=i+1;

end

%Ya teniendo los la magnitud de los segmentos ya hechos, seguimos con la

%formula multiplicando las magnitudes de los dos segmentos

%Este FOR es para obtener el producto de las magnitudes RSRF*RSRT for i = (1:n)

A=Marcha.RSRF.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.RSRT.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=A*B;%Multipicacion de las dos magnitudes

Marcha.R1PMP1(i,1)=C;%El resutlado se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el producto de las magnitudes LSLF*LSLT for i = (1:n)

A=Marcha.LSLF.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.LSLT.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=A*B;%Multipicacion de las dos magnitudes

Marcha.L1PMP1(i,1)=C;%El resutlado se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el producto de las magnitudes RFRT*RFRS for i = (1:n)

A=Marcha.RFRS.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.RFRT.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=A*B;%Multipicacion de las dos magnitudes

Marcha.R2PMP1(i,1)=C;%El resutlado se guardo en otro Struct i=i+1;

end

%Este FOR es para obtener el producto de las magnitudes LFLT*LFLS for i = (1:n)

A=Marcha.LFLS.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.LFLT.MagnitudP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=A*B;%Multipicacion de las dos magnitudes

Marcha.L2PMP1(i,1)=C;%El resutlado se guardo en otro Struct i=i+1;

end

%Ya teniendo la multiplicacion de las magnitudes de los segmentos, seguimos con la

%formula realizando el producto punto entre los dos segmentos

%Este FOR es para obtener el pructo punto entre los dos segmentos

%RSRT*.RSRF for i = (1:n)

A=Marcha.RSRT.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.RSRF.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=dot(A,B);%Se realiza la operacion utilizanco la funcion dot Marcha.R1PPP1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%Este FOR es para obtener el pructo punto entre los dos segmentos

%LSLT*.LSLF for i = (1:n)

A=Marcha.LSLT.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.LSLF.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=dot(A,B);%Se realiza la operacion utilizanco la funcion dot Marcha.L1PPP1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%Este FOR es para obtener el pructo punto entre los dos segmentos

%RFRT*.RFRS for i = (1:n)

A=Marcha.RFRT.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.RFRS.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=dot(A,B);%Se realiza la operacion utilizanco la funcion dot Marcha.R2PPP1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%Este FOR es para obtener el pructo punto entre los dos segmentos

%LFLT*.LFLS for i = (1:n)

A=Marcha.LFLT.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.LFLS.RestaP1(i,:);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=dot(A,B);%Se realiza la operacion utilizanco la funcion dot Marcha.L2PPP1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%Una Vez ya teniendo el resultado de la multiplziacion de las magnitudes y

%el producto punto de los segmentos seguimos con la formula que seria el

%coseno inverzo de el producto punto de los segmentos entre el producto de

%las magnitudes

%Este FOR es para obtener a en angulo en grados de la Pierna Derecha for i = (1:n)

A=Marcha.R1PPP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.R1PMP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=acosd(A/B);%Se caclula en angulo

Marcha.Angulo.RTRSRF1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%Este FOR es para obtener a en angulo en grados de la Pierna Izquierda for i = (1:n)

A=Marcha.L1PPP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.L1PMP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=acosd(A/B);%Se caclula en angulo

Marcha.Angulo.LTLSLF1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%Este FOR es para obtener a en angulo en grados del pie derecho for i = (1:n)

A=Marcha.R2PPP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.R2PMP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=acosd(A/B);%Se caclula en angulo

Marcha.Angulo.RTRFRS1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%Este FOR es para obtener a en angulo en grados del pie izquierdo for i = (1:n)

A=Marcha.L2PPP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

B=Marcha.L2PMP1(i,1);%Se guardo el estruct como una variable para hacer la operacion mas simple

C=acosd(A/B);%Se caclula en angulo

Marcha.Angulo.LTLFLS1(i,1)=C;%Se guarda el resultado en otro Struct i=i+1;

end

%%

% load('caminandomalground_export.mat')

% load('Carlos1_export.mat') load('Carlos1_export1CICLO.mat')

n2 = length(JointsData.RThigh.Coordinate);%Cantidad de frames que se grabaron

%Este FOR es para guardar cada una de las coordenadas x,y,z del RShin en

%otro Struct for i = 1:n2

JointsData.RShin.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.RShin.CoordenadasP2(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.RShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.RShin.CoordenadasP2(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.RShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.RShin.CoordenadasP2(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del LShin en

%otro Struct for i = 1:n2

JointsData.LShin.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.LShin.CoordenadasP2(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.LShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.LShin.CoordenadasP2(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.LShin.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.LShin.CoordenadasP2(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del RThigh en

%otro Struct for i = 1:n2

JointsData.RThigh.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.RThigh.CoordenadasP2(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.RThigh.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

B=ans.y(1,1);%De las coordenadas obtenidas solo toma la coordenada en Y

Marcha.RThigh.CoordenadasP2(i,2)=B;%Guardamos la coordenada Y en otro struct en la columna 2

JointsData.RThigh.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

C=ans.z(1,1);%De las coordenadas obtenidas solo toma la coordenada en Z

Marcha.RThigh.CoordenadasP2(i,3)=C;%Guardamos la coordenada Z en otro struct en la columna 3

i=i+1;

end

%Este FOR es para guardar cada una de las coordenadas x,y,z del LThigh en

%otro Struct for i = 1:n2

JointsData.LThigh.Coordinate(i,1);%Adquiere las coordenadas x,y,z de cada uno de los frames

A=ans.x(1,1);%De las coordenadas obtenidas solo toma la coordenada en X

Marcha.LThigh.CoordenadasP2(i,1)=A;%Guardamos la coordenada X en otro struct en la columna 1

JointsData.LThigh.Coordinate(i,1);%Volvemos a cargar las coordenadas de cada uno de los frames

In document PDF Universidad De Monterrey (página 58-111)

Documento similar