Take values from array within nested loop
Afficher commentaires plus anciens
Want to implement
RMSE= sqrt{1/K* summation k=1:K [(theta_est-theta_true)]^2}
theta_est and theta_true may be of different length
error=0;
for k=1:K
for m=1:length(theta_est)
for t=1:length(theta_true)
error=error+(theta_est(m,k)-theta_true(t,k)).^2
RMSE=sqrt(1/K*error)
end
end
end
1 commentaire
David Sanchez
le 30 Juin 2016
And what is your problem?
Réponses (1)
dpb
le 30 Juin 2016
"Implement RMSE= sqrt{1/K* summation k=1:K [(theta_est-theta_true)]^2} [where] theta_est and theta_true may be of different length"
Well, there's no definition of a difference where there aren't comparable entities so your choice is either compute over the min(length(theta_est),length(theta_true)) or, if the two vectors represent a given time of commensurate duration, interpolate the shorter or decimate the longer to match. The first option is simply
K=min(length(theta_est),length(theta_true));
RMSE=rms(theta_est(1:K)-theta_true(1:K)); % rms from Signal Processing Toolbox
Catégories
En savoir plus sur Multidimensional Arrays dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!