??? Subscripted assignment dimension mismatch. Error

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

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)

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

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
Need error in context in its entirety w/o modification to have any hope at all.
What did you find when you used the debugger????
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.
...its an error carried through from actions taken in the code before this takes place...
Where did I hear that before??? VBG

This question is closed.

Asked:

on 26 May 2014

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!