Fill in a matrix after an evaluation

1 vue (au cours des 30 derniers jours)
ILIANNE GUILLOT VIDAL
ILIANNE GUILLOT VIDAL le 26 Avr 2021
I want to do a for loop in order to, with a matrix full of zeros of the specific size, calculate the vector error with the formula on d_right, knowing the values of x, y and z. Once I compute the code, this error shows up: "Unable to perform assignment because the left and right sides have a different number of elements". What should I be changing, is it the matrix full of zeros? Thank you in advance
accuracy_right = zeros(76,6)
for i = 1:1:76
data_def_x = target(:,i+1); %All x values
data_def_y = target(:,i+2); %All y values
data_def_z = target(:,i+3); %All z values
d_right = sqrt((data_def_x-x0_r).^2+(data_def_y-y0_r).^2+(data_def_z-z0_r).^2);
accuracy_right(i) = d_right;
end
  1 commentaire
Rik
Rik le 26 Avr 2021
i is a single value, and because the data_def variables are vectors, that means d_right is a vector. You're trying to store a vector in a single element.

Connectez-vous pour commenter.

Réponse acceptée

Rik
Rik le 26 Avr 2021
I guess boldly:
x0_r=rand;y0_r=rand;z0_r=rand;
target=rand(6,76+3);
accuracy_right = zeros(76,6);
for i = 1:1:76
data_def_x = target(:,i+1); %All x values
data_def_y = target(:,i+2); %All y values
data_def_z = target(:,i+3); %All z values
d_right = sqrt((data_def_x-x0_r).^2+(data_def_y-y0_r).^2+(data_def_z-z0_r).^2);
accuracy_right(i,:) = d_right;
% ^^
end
  1 commentaire
ILIANNE GUILLOT VIDAL
ILIANNE GUILLOT VIDAL le 26 Avr 2021
Thank you so much!!!!!!

Connectez-vous pour commenter.

Plus de réponses (1)

minghuaa lu
minghuaa lu le 26 Avr 2021
no data target x0_r y0_r z0_r
  1 commentaire
ILIANNE GUILLOT VIDAL
ILIANNE GUILLOT VIDAL le 26 Avr 2021
Yes, it is inserted before the loop

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by