what wrong about this error

3 views (last 30 days)
ahmed  hamdy
ahmed hamdy on 21 May 2019
Commented: ahmed hamdy on 22 May 2019
In an assignment A(I) = B, the number of elements in B and
I must be the same.
  6 Comments
Rik
Rik on 22 May 2019
Code Analyzer found 142 warnings for your code. Maybe you should deal with those...
If you had posted the error message, we wouldn't need to search through over 400 lines of barely commented code to find the error. We are also missing the loadcase function (and the files it presumably loads) and the input to actually run the function.
The answer James has given is already the answer to your question. If you want specific guidance, post a specific part of the code. Use the debugger (click the 'pause on error' option). Then you can see the sizes of the arrays in the offending line of code.
Also note that it is generally a good idea to try to keep the size of your functions small and use subfunctions. Also, don't use global variables.

Sign in to comment.

Answers (1)

James Tursa
James Tursa on 22 May 2019
Edited: James Tursa on 22 May 2019
The error message appears when you have a mismatch in the number of elements on the rhs and the number of elements on the lhs. E.g.,
>> x = 1:10
x =
1 2 3 4 5 6 7 8 9 10
>> y = 40:43
y =
40 41 42 43
>> x(1:5) = y % <-- Try to assign 4 elements into 5 elements doesn't work
In an assignment A(:) = B, the number of elements in A and B must be the same.
>> x(1:4) = y % <-- Assigning 4 elements into 4 elements does work
x =
40 41 42 43 5 6 7 8 9 10

Community Treasure Hunt

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

Start Hunting!