Attempted to access x_set(:,100); index out of bounds because size(x_set)=[7600,1] help
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi, I get an error message after trying to remove values in x_table less than 0. x_table is a 100x100 array and after I apply this condition it changes to a 7660x1 array, resulting in an error when I try to access specific elements in y. How can I correctly remove the elements less than 0? Also it_5 = 1:100 earlier in the code.
x_target = 1:round(max(max(x_table)));
x_target_low = x_target-0.5;
x_target_up = x_target+0.5;
x_set=x_table(x_table>0); %worked before adding (x_table>0)
for it_6 = round(min(min(x_set))):round(max(max(x_set)))
y = find(((x_set(:,it_5)>x_target_low(it_6)).*(x_set(:,it_5)<x_target_up(it_6)))>0);
end
0 comentarios
Respuesta aceptada
Thorsten
el 16 de Abr. de 2015
Rather than removing, set them to NaN. Otherwise you cannot preserve the 100x100 configuration:
x(x<0) = NaN;
0 comentarios
Más respuestas (1)
James Tursa
el 16 de Abr. de 2015
Editada: James Tursa
el 16 de Abr. de 2015
Typically one would remove entire rows or entire columns if you want to preserve the 2D matrix. By removing individual elements that could be scattered throughout the matrix you force the result into 1D. E.g., this condition
x_table>0
Can you elaborate on what exactly you want removed from the 2D matrix based on this condition, and why you think the result should still be 2D?
2 comentarios
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!