Why this gives error?

1 view (last 30 days)
Sadiq Akbar
Sadiq Akbar on 15 Apr 2022
Commented: Voss on 16 Apr 2022
LB=[0 0 0 0];
UB=[10 10 pi pi];
particles_x(1,1)=LB+rand*(UB-LB)
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
  1 Comment
Jan
Jan on 15 Apr 2022
I've added the error message. Please care for including the message in future questions about errors.

Sign in to comment.

Answers (2)

Jan
Jan on 15 Apr 2022
LB = [0 0 0 0];
UB = [10 10 pi pi];
size(LB + rand * (UB - LB))
ans = 1×2
1 4
You cannot assign a [1 x 4] vector to the scalar particles_x(1,1).

KuriGohan
KuriGohan on 15 Apr 2022
You get a 1x4 array on the right that you want to save inside the first row of the first column of the array - you cant do that. Just write particles_x=LB+rand*(UB-LB) and then particles_x(1,1) to acess what you want (at least what i think you want, that is the first element of that matrix).
  5 Comments
Voss
Voss on 16 Apr 2022
I gather "-ve" means "negative" (so the "-" stands for "negati", I guess).

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by