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

Jan
Jan 2022년 4월 15일
I've added the error message. Please care for including the message in future questions about errors.

댓글을 달려면 로그인하십시오.

답변 (2개)

Jan
Jan 2022년 4월 15일

0 개 추천

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 2022년 4월 15일

0 개 추천

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

Thanks to both of you Jan and KuriGohan for your prompt response. But actually, This is inside an algorithm and when I change it like this:
LB=[0 0 0 0];
UB=[10 10 pi pi];
particles_x(1,:)=LB+rand*(UB-LB)
Then it doesn't give error but then I get -ve answers also. So what to do so that I don't get -ve answers?
KuriGohan
KuriGohan 2022년 4월 15일
Acess just what you want - in your case:
LB=[0 0 0 0];
UB=[10 10 pi pi];
particles_x(1,:)=LB+rand*(UB-LB);
particles_x = particles_x(1,1)
Sadiq Akbar
Sadiq Akbar 2022년 4월 15일
Thank you very much dear KuriGohan for your prompt response.Actually the code of the algorithm is at: https://www.mathworks.com/matlabcentral/fileexchange/67768-a-hybrid-firefly-and-particle-swarm-optimization-hfpso?s_tid=FX_rc2_behav
If you download it, it works for scalar bounds but gives an error of dimension mismatch. So when I do changes as mentioned above, then i get -ve values in results also which is not required.
Jan
Jan 2022년 4월 16일
What are "-ve values" ?
Voss
Voss 2022년 4월 16일
I gather "-ve" means "negative" (so the "-" stands for "negati", I guess).

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2022년 4월 15일

댓글:

2022년 4월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by