Index exceeds matrix dimensions.

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

12 Comments

KSSV
KSSV on 20 Jun 2018
Edited: Birdman on 20 Jun 2018
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.
div
div on 20 Jun 2018
Edited: div on 20 Jun 2018
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 on 20 Jun 2018
Edited: KSSV on 20 Jun 2018
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.
div
div on 20 Jun 2018
Edited: Torsten on 20 Jun 2018
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.

Answers (0)

This question is closed.

Tags

Asked:

div
on 20 Jun 2018

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!