Fill in a matrix after an evaluation

1 visualización (últimos 30 días)
ILIANNE GUILLOT VIDAL
ILIANNE GUILLOT VIDAL el 26 de Abr. de 2021
Comentada: ILIANNE GUILLOT VIDAL el 26 de Abr. de 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 comentario
Rik
Rik el 26 de Abr. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Rik
Rik el 26 de Abr. de 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

Más respuestas (1)

minghuaa lu
minghuaa lu el 26 de Abr. de 2021
no data target x0_r y0_r z0_r

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by