Can you help me please , to resolve this erreur in matlab
Mostrar comentarios más antiguos
I want to browse a 4D matrix and I got this error message:
Undefined function '_colonobj' for input arguments of type 'double' and attributes 'full 4d real'.
5 comentarios
Geoff Hayes
el 18 de Mayo de 2018
manel - please post the code that is generating this error message (the error message should indicate which line is causing the problem) because it is unclear what the _colonobj is. What kind of object is this? How is it instantiated? What toolboxes are you using?
manel maatouk
el 19 de Mayo de 2018
Jan
el 19 de Mayo de 2018
@manel maatouk: Please post code as text, such that it can be used by copy&paste to write an answer.
manel maatouk
el 20 de Mayo de 2018
Editada: Jan
el 20 de Mayo de 2018
Jan
el 20 de Mayo de 2018
The most important part is not posted: How is M defined?
You overwrite resultatprog(s,1) in each iteration of the 2 inner loops, when the condition is met. Is this really useful?
Respuestas (1)
The error message means, that in your code
for i=1:M
the variable M is a 'full 4d real' (although I do not know, what this means). Check how M is defined and adjust it to be a double. Maybe this is working already:
for i=1:double(M)
[EDITED] Walter has explained the error message: M is a 4D array, but the colon operator expects a scalar. Then I guess you want:
for i = 1:size(radon_cartesien, 3)
for j = 1:size(radon_cartesien, 4)
3 comentarios
Walter Roberson
el 20 de Mayo de 2018
The error means that M is 4 dimensional. The second argument for the : operation should be a scalar, but a vector will be tolerated and treated as just its first element.
@Walter: Thank you very much. I'm confused:
X = rand(2,3);
Y = rand(2,3,4,5);
1:X % Silently uses the 1st element only, no error
1:Y % Error:
Undefined function 'colon' for input arguments of type 'double'
and attributes 'full 4d real'.
After your explanation I understand the message. But if Matlab catches this problem for multi-dimensional arrays, I cannot understand, why there is no error for the 2D case. This:
for k = 1:size(X)
causes problems repeatedly and you find several concerning threads in this forum.
Walter Roberson
el 20 de Mayo de 2018
In the past I have seen it documented that the first value will be silently used (at least under some circumstances) but I do not see that documentation at present.
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!