Can you help me please , to resolve this erreur in matlab

2 ビュー (過去 30 日間)
manel maatouk
manel maatouk 2018 年 5 月 18 日
コメント済み: Walter Roberson 2018 年 5 月 20 日
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 件のコメント
manel maatouk
manel maatouk 2018 年 5 月 20 日
編集済み: Jan 2018 年 5 月 20 日
for ik=1:10 % ik longueur masque
for tt=1:21 % tt le num du theta
t=ttabTheta(tt); % t l'angle theta
for i=1:M
for j=1:N
if(radon_cartesien(ik,tt,i,j)==TabPik_Matrice(ik,tt))
resultatprog(s,1)=i;
resultatprog(s,2)=j;
end
end
end
end
end
[EDITED, Jan, code formatted]
Jan
Jan 2018 年 5 月 20 日
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?

サインインしてコメントする。

回答 (1 件)

Jan
Jan 2018 年 5 月 19 日
編集済み: Jan 2018 年 5 月 20 日
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 件のコメント
Jan
Jan 2018 年 5 月 20 日
編集済み: Jan 2018 年 5 月 20 日
@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
Walter Roberson 2018 年 5 月 20 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by