Why do I get the "Subscripted assignment dimension mismatch" error message?
    41 views (last 30 days)
  
       Show older comments
    
    MathWorks Support Team
    
 on 27 Feb 2012
  
    
    
    
    
    Edited: MathWorks Support Team
    
 on 13 Dec 2021
            Why do I get the following error message sometimes:
ERROR: ??? Subscripted assignment dimension mismatch.
??? In an assignment A(I) = B, the number of elements in B and
I must be the same. 
ERROR: 
Accepted Answer
  MathWorks Support Team
    
 on 10 Dec 2021
        
      Edited: MathWorks Support Team
    
 on 13 Dec 2021
  
      This error occurs when you attempt to assign elements to an existing array, but the size of the variable you are trying to assign is not compatible with the existing array. For example, the following code snippet produces this error:
A = [1 2 3; 4 5 6];
B = [7 8 9 10];
A(2,:) = B
In this case, 'A' has size 2x3, that is, 2 rows and 3 columns. The vector 'B' has size 1x4, 1 row and 4 columns. The assignment statement attempts to replace the second row of 'A' with the row vector 'B', but this is not possible because 'B' has 4 columns, and 'A' only has 3 columns. In order to assign to the second row of 'A', you must use a vector with 3 columns. For example,
B = [11 12 13];
A(2,:) = B
For more information on indexing in MATLAB, see the following documentation page:
0 Comments
More Answers (0)
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!