error using interp1 !!

3 visualizzazioni (ultimi 30 giorni)
Ano
Ano il 31 Ott 2017
Commentato: Ano il 31 Ott 2017
Hello! I wanted to interpolate the NaN values within a matrix , and it works perfectly but I wanted also to interpolate the Inf entries so I have used the following line:
MyMatrix(isinf(MyMatrix))=NaN;
but then I get the following error :
Index exceeds matrix dimensions.
Error in interp1 (line 128)
extptids = Xq < X(1) | Xq > X(end);
could you give me any hints to what is causing this error and how can I interpolate the Inf entries without any errors . thank you ! Best regards!
  3 Commenti
Rik
Rik il 31 Ott 2017
Can you post a minimal working example, so we can try to reproduce this error?
Ano
Ano il 31 Ott 2017
Modificato: Ano il 31 Ott 2017
thank you for your replies! Here is the code I am using and the matrix subject of this error.
[rowN, colN]=size(MyMatrix);
colInd = 1: colN;%COLUMNS INDICES
IndnNAN = ~isnan(MyMatrix);
for r=1:rowN
MyMatrix(r,:)=interp1(colInd(IndnNAN(r,:)),MyMatrix(r,IndnNAN(r,:)),colInd,'linear');
end

Accedi per commentare.

Risposte (1)

M
M il 31 Ott 2017
Modificato: M il 31 Ott 2017
Maybe the problem comes from the fact that
colInd(IndnNAN(r,:))
ans =
1×0 empty double row vector
and so is MyMatrix(r,IndnNAN(r,:))
  3 Commenti
M
M il 31 Ott 2017
Well, given your definition, either you have :
IndnNAN(r,:)
ans =
1×10 logical array
1 1 1 1 1 1 1 1 1 1
or
IndnNAN(r,:)
ans =
1×10 logical array
0 0 0 0 0 0 0 0 0 0
so colInd(IndnNAN(r,:)) will either be equal to 1: colN or it will be empty.
The question is, what did you want to do ?
Ano
Ano il 31 Ott 2017
first, I wanted to interpolate the NaN values and the code worked perfectly, then as I have mentioned I wanted to interpolate the consecutive Inf entries as they are taking an important part of the matrix but it is not working , so if I would reformulate my question I would say how can I interpolate consecutive entries of Inf values?!

Accedi per commentare.

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by