Info

This question is closed. Reopen it to edit or answer.

??? Subscripted assignment dimension mismatch. Error

1 view (last 30 days)
Adam
Adam on 26 May 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi so Im getting this error when ever I try to run this section of code:
for i = 1:l
C2(i,1) = min ( G1(i,Xbp: Xep+3));
end
C2 is a 616x1 matrix G1 is a 616x498 matrix
Why is this occuring all of a sudden I have ran this code on similar programs and this is teh first time it occured.
Thanks.
  1 Comment
Adam
Adam on 26 May 2014
Edited: Matt J on 26 May 2014
Apologies this si more of the code:
G1 = 255 * mat2gray (I2 , [1 100]);
C2 = 0 * I2 (:,1)+1;
for i = 1:l
C2(i,1) = min ( G1(i,Xbp: Xep+3));
end
I2 is a 616x498 matrix
l = 616

Answers (1)

dpb
dpb on 26 May 2014
Insufficient info to tell -- the problem would appear to be in what isn't shown.
Use debugger to stop on the error and examine the specific case values. Set
dbstop if error
then rerun.
The above code loop could be written as
C2=min(G1(:,G1(i,Xbp: Xep+3),2);
presuming that
I=size(G1,1);
If I<size(G1,1) then substitute the vector 1:I for I in the first subscript expression.
  4 Comments
Adam
Adam on 26 May 2014
its an error carried through from actions taken in the code before this takes place. In this code it wants to go from Xbp to Xep (making Xbp the smaller value)but the error occurs because Xbp is larger than Xep.
So i need to go back and fix that from occuring.
dpb
dpb on 26 May 2014
...its an error carried through from actions taken in the code before this takes place...
Where did I hear that before??? VBG

Community Treasure Hunt

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

Start Hunting!