"Parfor" : Subscripted assignment dimension mismatch
Show older comments
Hello
Please, I wrote a code and its works perfectly but it takes about 6 hours, so I suggest to use parfor to reduce the time, then I face the error "Subscripted assignment dimension mismatch" and it doesn't appear immediately, it takes2 hours then I got the error message after finishing all the iteration number.
So I would greatly appreciate your support!!
by the way I just put parfor ind1=1:720; instead of for !!!!
================================================
lon_rs=(reshape(l2aRS.clon_RS,3560*2000,1));
lat_rs=(reshape(l2aRS.clat_RS,3560*2000,1));
RSsig0=(reshape(l2aRS.sig0_RS,3560*2000,1));
RS_s0=zeros(720,360);
QS_s0=zeros(720,360);
I=ceil(2*(lon_rs));
J=ceil(2*(lat_rs+90));
K=ceil(2*(l1cQS.clon_QS));
L=ceil(2*(l1cQS.clat_QS+90));
for ind1=1:720;
ind1
for ind2=1:360;
indsRS=find((I==ind1) &(J==ind2) &(RSsig0~=0));
len_temp1=length(indsRS);
if (len_temp1>0);
len_RS(ind1,ind2)=len_temp1;
RS_s0(ind1,ind2)=median(RSsig0(indsRS));
end;
indsQS=find((K==ind1) &(L==ind2) &(l1cQS.sig_QS~=0));
len_temp2=length(indsQS);
if (len_temp2>0);
len_QS(ind1,ind2)=len_temp2;
QS_s0(ind1,ind2)=median(l1cQS.sig_QS(indsQS));
end;
end;
end;
=============================
4 Comments
Walter Roberson
on 4 Jul 2016
Without the data to test with, and without a copy of the complete error message that shows where the error occurred, it would be time consumning to answer.
Ali Alsabbagh
on 4 Jul 2016
Edited: Ali Alsabbagh
on 4 Jul 2016
Walter Roberson
on 4 Jul 2016
"Without the data to test with, and without a copy of the complete error message that shows where the error occurred, it would be time consumning to answer."
As in I would have to study the code to find all the ways that it could possibly fail and report them all back. And then you will tell me that No, this way and that way cannot have happened because your data does happen to be one of the ways that I suggested could be a problem. And I would have wasted a lot of time, completely unnecessarily.
Have you considered, by the way, putting in a bunch of try/catch statements in your code to isolate which section of the code your error is occurring on, and reporting on the value of the indices when the error occurs?
Ali Alsabbagh
on 5 Jul 2016
Edited: Walter Roberson
on 5 Jul 2016
Accepted Answer
More Answers (0)
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!