Index exceeds matrix dimensions. Error

1 visualizzazione (ultimi 30 giorni)
Catalin
Catalin il 25 Set 2014
Commentato: Image Analyst il 25 Set 2014
I get the error " Index exceeds matrix dimensions " when I test the function CharactOne bellow. However, I tested individually the second, forth and sixth line of code and they give good results. I don't understand what is the problem with the code, I am guessing it has to do with the if statement , but can't spot the mistake.
function CharactOne= CharactOne(baseType,TCType,u,T,paramsBase,paramsTC)
lambda=-1i*CharactExpLib(baseType,u,paramsBase)-u*CharactExpLib(baseType,-1i,paramsBase);
if strcmp(TCType,'G')|| strcmp(TCType,'IG')
CharactOne=CharactFunSLib(TCType,lambda,T,paramsTC);
else
CharactOne=CharactFunALib(TCType,lambda,T,paramsTC);
end
end
  4 Commenti
Catalin
Catalin il 25 Set 2014
Modificato: Catalin il 25 Set 2014
It doesn't. This is the message :
>> CharactOne(baseType,TCType,u,T,paramsBase,paramsTC)
Index exceeds matrix dimensions.
Adam
Adam il 25 Set 2014
This is one of the many reasons I very rarely write a function nowadays without using validateattributes on every one of my input arguments. It takes very little time and cuts out so many silly errors later in the code.

Accedi per commentare.

Risposta accettata

Guillaume
Guillaume il 25 Set 2014
You must have a variable called CharacterFactoryOne in your workspace.
newname = CharacterFactoryOne;
clear CharacterFactoryOne
  3 Commenti
Guillaume
Guillaume il 25 Set 2014
Matlab was trying to access the element of the matrix CharacterFactoryOne at row baseType, column TCType, page u, etc., and that matrix didn't have that many element (and probably that many dimensions).
Image Analyst
Image Analyst il 25 Set 2014
But CharacterFactoryOne was not in the original code that was posted. I thought the problem was that the return argument was the same name as the function name itself (CharactOne).

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by