Index exceeds matrix dimensions.

if(X(n,5)==X(i(c),5));

12 个评论

KSSV
KSSV 2018-6-20
编辑:Birdman 2018-6-20
You need to show full code.....this error occurs when you try to extract more number of elements then present in the array. Check your dimensions.
if(X(n,5)==X(i(c),5)); sir can u tell me how to write this code in another way...i m new in matlab
We cannot help unless the purpose and dimensions of the variables needed. Copy the complete code here.
for f=1:m
for i=1:m
for j=1:4
di=abs(X(f,j)-X(i,j));
Z(i)=di;
end
[B,I]=sort(Z);
for c=1:20
if(X(f,5)==X(I(c),5))
k=0
end
end
end
end
Variable "n" is undefined.
sorry in place of n there is f
KSSV
KSSV 2018-6-20
编辑:KSSV 2018-6-20
What is X?
Check this line: X(i(c),5)..your i is a loop variable, it is a scalar....you are trying to access i as a vector in i(c). You need to rethink on this.
X is a file where data is stored
how can i solve this sir ...i tried bt no results.
for f=1:m
for i=1:m
for j=1:4
di=abs(X(f,j)-X(i,j));
Z(i)=di;
end
[B,I]=sort(Z);
for c=1:20
if(X(f,5)==X(I(c),5))
k=0
end
end
end
end
What does "X is a file" mean? The name of the file?
In the body of the question, there is a lower-case "i", but in the code in the comment an upper-case "I".
Does the code in the comment solve your question?
In
for j=1:4
di=abs(X(f,j)-X(i,j));
Z(i)=di;
end
You overwrite the value of Z(i) 3 times. Afterwards Z(i) contains only the value for j=4.

回答(0 个)

此问题已关闭。

标签

提问:

div
2018-6-20

关闭:

2021-8-20

Community Treasure Hunt

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

Start Hunting!

Translated by