Error: Unable to perform assignment because the left and right sides have a different number of elements.

1 view (last 30 days)
I am unable to get this for loop working for some reason, I know it is in line 28 but not sure. Thanks for any help.

Accepted Answer

fred  ssemwogerere
fred ssemwogerere on 13 Feb 2020
Edited: fred ssemwogerere on 13 Feb 2020
You are using a double for loop. I advise its best to use something like this
for ii=1:24
for jj=1:24
z(ii,jj)=normrnd(mu_SC(ii),std_SC(jj),1000);
end
end
  3 Comments
fred  ssemwogerere
fred ssemwogerere on 13 Feb 2020
Hello, from your question i think you are tring to generate a 1000x1000 array of normal random numbers, then in that case you can use cell notation, with curly brackets to the output as below:
for ii=1:24
for jj=1:24
z{ii,jj}=normrnd(mu_SC(ii),std_SC(jj),1000);
end
end
Stephen23
Stephen23 on 13 Feb 2020
With preallocation to avoid inefficiency and some errors related to unmatching classes/types/sizes:
z = cell(24,24);
for ...
end

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!