Index expression out of bounds. Attempted to access element 2. The valid range is 1-1.“2”

4 Ansichten (letzte 30 Tage)
I keep getting this error, my desired output is to get abs(I(2,ii(a))-I(2,ii(a)-1) so that when ii(a)=2, I want I(2,2) minus I(2,1) which is 5.1 minus 5.0 : Index expression out of bounds. Attempted to access element 2. The valid range is 1-1."2".
The error is due to this line:
arr(1,ii(a)) = arr(1,ii(a)) + abs(I(2,ii(a))-I(2,ii(a)-1));.
I define I as the following in .mat file:
save data -v7.3 'I' load('data.mat','I');
I =
Columns 1 through 6
0 1.0000 2.0000 3.0000 4.0000 5.0000
5.0000 5.1000 5.2000 5.2000 5.5000 5.9000
Column 7
6.0000
6.0000

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 8 Nov. 2013
Check the sizes of ii and I, check also if all values in ii are positive integer
  8 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 8 Nov. 2013
there are some problems in your code
function arr= fcn(I,count,oldval) % I is not used in your code
aa=zeros(2,5); this line is unnecessary, because just after you wrote also aa=load('data.mat','I'); in this case the result is a structure array named aa with field I , note that I has nothing to do with I in function argument. to get the value
aa=aa.I
want2know
want2know am 8 Nov. 2013
Got it, i changed according to your suggestion and it worked, however the system is giving wrong output mathematically. Do you mind to have a look on this new post? I created new question http://www.mathworks.com/matlabcentral/answers/105388-calculation-error-system-always-gives-output-0-0-0-value-in-index-3-value-in-index-1-0

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by