Error when building a array code

3 Ansichten (letzte 30 Tage)
desert_scientist90
desert_scientist90 am 25 Okt. 2019
Beantwortet: Ajay Pattassery am 29 Okt. 2019
Hi I all, I am new to matlab
I am trying to display the result of zm3(result from the high composite-low/2) at each grid point of data of my data set. My dimensions are x=141, y=71 and t=38. The variable rain is in that dimension. When I run the code below on matlab I get the following error message "Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is 141-by-71". How can I fix this?
Thanks in advance
for yr=0:38
for j=141
for i=71
zm3(i,j+1)=rain(:,:,2+yr*38);
end
end
end
  2 Kommentare
John D'Errico
John D'Errico am 25 Okt. 2019
Surely you should have learned by now (having asked 19 questions on Answers), that if you just need to assign a value like 141 to a variable, you do not need to use a for statement? All these lines do is assign the value 141 to j, and 41 to i.
for j=141
for i=71
And worse, because you have created for loops, you then need to have end statements too. Just do this:
j = 141;
i = 41;
desert_scientist90
desert_scientist90 am 25 Okt. 2019
Thanks John for your answer but, that approach still produces the same error message. The issue is that one side is the product of previous calculations zm3 vs the whole data set which is rain. I am trying to represent the value of zm3 on each grid point with data.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Ajay Pattassery
Ajay Pattassery am 29 Okt. 2019
Hello,
The error is generated since the right hand side of
zm3(i,j+1) = rain(:,:,2+yr*38);
is a matrix with dimension 141x71 where the left hand side is just a scalar. Hence assigining a matrix to a scalar position is causing the error.
I assume that you wanted to retrieve rain(:,:,2), rain(:,:,40), rain(:,:,78) etc. till rain(:,:,1446) and assign it to zm3, then you could do the following.
for yr=0:38
zm3(:,:,yr+1)=rain(:,:,2+yr*38);
end

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by