Effacer les filtres
Effacer les filtres

How to calculate the average with "for loop"

10 vues (au cours des 30 derniers jours)
Kong
Kong le 2 Jan 2021
Hello. I'm beginner at Matlab.
I want to calculate the average of DTW distances using rows.
For example, I have two datasets, data11(19200 x 25), data22(19200 x 25).
After computing the DTW distance between two rows, I wanna get the average value of all dtw distances.
Please let me know how to get the average value using "For loop" code.
clear all
data11 = csvread('person01_boxing_d1_uncomp.csv');
data22 = csvread('person01_handclapping_d1_uncomp.csv');
x = data11(1,:); % 1 ~ 19200
y = data22(19199,:); % 1 ~ 19200
dtw(x,y);
% I get one dtw distance.
% I want to compute the average value of all kk, kk1, kk3, .....
x = data11(1,:);
y = data22(1,:);
kk = dtw(x,y);
x = data11(1,:);
y = data22(2,:);
kk1 = dtw(x,y);
x = data11(1,:);
y = data22(19199,:);
kk3 = dtw(x,y);
average = mean(kk, kk1, kk3) % ??

Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 2 Jan 2021
Modifié(e) : KALYAN ACHARJYA le 2 Jan 2021
How to calculate the average with "for loop"
data11 = csvread('person01_boxing_d1_uncomp.csv');
data22 = csvread('person01_handclapping_d1_uncomp.csv');
x = data11(1,:); % 1 ~ 19200
kk=zeros(1,size(data22,1)-1);
for i=1:length(kk)
y = data22(i,:);
kk(i)= dtw(x,y);
end
mean(kk)
  6 commentaires
Kong
Kong le 2 Jan 2021
Hello. How about this code for all rows?
clear all
data11 = csvread('person01_boxing_d1_uncomp.csv');
data22 = csvread('person01_handclapping_d1_uncomp.csv');
kk=zeros(1,size(data22,1)-1);
for i=1:length(kk)
x = data11(i,:);
for j=1:length(kk)
y = data22(j,:);
kk(j)= dtw(x,y);
end
end
mean(kk)
KALYAN ACHARJYA
KALYAN ACHARJYA le 2 Jan 2021
Modifié(e) : KALYAN ACHARJYA le 2 Jan 2021
Seem so
data11 = csvread('person01_boxing_d1_uncomp.csv');
data22 = csvread('person01_handclapping_d1_uncomp.csv');
iter=size(data11,1)-1;
kk=zeros(iter,iter);
for i=1:iter
x = data11(i,:);
for j=1:iter
y = data22(j,:);
kk(i,j)=dtw(x,y);
end
end
mean(kk(:))
You may look for avoid loop (if possible), since it takes a long time due to the large number of repetitions. You may check arrayfun, cellfun or other similar questions in the fourmn. More, suggested to avoid clear all

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by