Fill in a matrix after an evaluation
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
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
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.
Respuesta aceptada
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)
Ver también
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!