Index exceeds matrix dimensions.

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

12 Commenti

KSSV
KSSV il 20 Giu 2018
Modificato: Birdman il 20 Giu 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.
div
div il 20 Giu 2018
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
KSSV
KSSV il 20 Giu 2018
We cannot help unless the purpose and dimensions of the variables needed. Copy the complete code here.
div
div il 20 Giu 2018
Modificato: div il 20 Giu 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
Torsten
Torsten il 20 Giu 2018
Variable "n" is undefined.
div
div il 20 Giu 2018
sorry in place of n there is f
KSSV
KSSV il 20 Giu 2018
Modificato: KSSV il 20 Giu 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.
div
div il 20 Giu 2018
X is a file where data is stored
div
div il 20 Giu 2018
how can i solve this sir ...i tried bt no results.
div
div il 20 Giu 2018
Modificato: Torsten il 20 Giu 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.

Risposte (0)

Questa domanda è chiusa.

Tag

Richiesto:

div
il 20 Giu 2018

Chiuso:

il 20 Ago 2021

Community Treasure Hunt

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

Start Hunting!

Translated by