MATLAB: Indexing must appear last in an index espression
Xsum =A(1)(:,3); error is at this point for k = 2:299 Xsum=Xsum+A(k)(:,3); end
Best Answer
A(k) is the k.th element of the array A. Then indexing another time by "(:,3)" is not valid Matlab syntax. We cannot guess the purpose of this code, so please explain the class and dimensions of A and what you want to achieve.
[EDITED, after you provided the code]
I guess that:
Xsum = A(1)(:,3)
should be
Xsum =A{1}(:,3)
and the same for "Xsum=Xsum+A(k)(:,3)".
Compare it with the lines:
Ysum = A{1}(:,4); for m = 2:299 Ysum=Ysum+A{m}(:,4); end
sorry for the poor error message. it will be improved in a future release.
the main problem with the MATLAB code you are trying to evaluate via arrayfun is it does indexing. currently, indexing is not supported for functions being evaluated by arrayfun as discussed in the doc.
Best Answer