How can I solve this error (Improper assignment with rectangular empty matrix.) with listed below script. Thanks

1 view (last 30 days)
elevtocellsI1=accumarray(OrbNO,elev2,[],@(x) {x});
DDDD=zeros(1,size(elevtocellsI1,1));
for i=1:size(elevtocellsI1,1)
DDDD(i)=(find(elevtocellsI1{i}, 1, 'last' )-(find(elevtocellsI1{i}, 1 )))/60;
end
figure(567432)
bar(DDDD)
title('Passage Time Over the GS')
xlabel('time(Seconds)')
ylabel ('Passage Time (min)'),
grid on
  2 Comments
Stephen23
Stephen23 on 9 Jan 2017
@Oday Shahadh: please edit your question and give us the complete error message. That means all of the red text.
Also it helps if you give us code that actually works (so that we can run it), otherwise we have to rely on using our magic crystal balls to read what is on your computer monitor.
Oday Shahadh
Oday Shahadh on 9 Jan 2017
Improper assignment with rectangular empty matrix.
Error in BAN_FINAAl (line 710) DDDD(i)=(find(elevtocellsI1{i}, 1, 'last' )-(find(elevtocellsI1{i}, 1 )))/60;

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 9 Jan 2017
Some of the cells resulting from accumarray are likely to be empty. find(elevtocellsI1{i}, 1, 'last' ) on the empty cell is going to be empty. (find(elevtocellsI1{i}, 1, 'last' )-(find(elevtocellsI1{i}, 1 )))/60 would then be empty. You try to assign that emptiness to a definite location DDDD(i)
  11 Comments
Oday Shahadh
Oday Shahadh on 9 Jan 2017
I attached the elevation plot, in which each line segment on the time axes under each the fives curves represents the time the satellite spent over the GS

Sign in to comment.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!