MATLAB Answers

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.

  0 Comments

Sign in to comment.

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

John MacLean
John MacLean on 13 Feb 2020
this solution threw a "unable to perform assignment because the indices on the left side are not compatible with the size of the right side."
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
Stephen Cobeldick
Stephen Cobeldick 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!