Index exceeds the number of array elements
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I just get the error for using interpolation
Here is the code
Fs=1000000;
dt=1/Fs;
vt=[0:dt:tmax]';
data1=[];
data1(:,1)=vt;
[A, index] = unique (A);
data1(:,2)=interp1(T,A(index),vt);
A and T are defined from a txt file
Thanks
0 comentarios
Respuestas (1)
Adam
el 17 de Oct. de 2019
Editada: Adam
el 17 de Oct. de 2019
[A, index] = unique (A);
replaces what was in A with the result of unique (i.e. all the non-unique values removed)
So indexing further into this as
A(index)
will result in this error since index will contain values upto the orginal size of A before the non-unique elements were removed, and is un-necessary as you should just use A (or assign the output of unique to a different variable instead of overwriting A and index into that other variable instead).
2 comentarios
Adam
el 17 de Oct. de 2019
That's fine, but you still need to do either of the options I suggested. Don't do an in-place over-write of your data, then use an index list that was created for the original data on top of that.
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!