Error in matlab Improper assignment with rectangular assignment with rectangular matrix
Info
This question is closed. Reopen it to edit or answer.
Show older comments
hey matlab friends;
I want to find the locatons of matrixpoints which is given by comtime=[4449,1] from a matrix Tt= [5400,1] and i tried using a function
for kk= 1:4449
loc(kk)=find(Tt=comtime(kk,1))
end
bur an error message which says 'Improper assignment with rectangular assignment with rectangular matrix' keeps coming. What can I do with it? thanks for your help.
Answers (1)
Tom
on 24 Jun 2013
The number of elements you'll find each time will be different, so you can't put them into a standard array. Try using a cell array instead:
loc = cell(4449,1);
for kk= 1:4449
loc{kk}=find(Tt == comtime(kk,1))
end
You can then access each one using the {} notation, e.g.
loc{1}
8 Comments
Ede gerlderlands
on 24 Jun 2013
Edited: Ede gerlderlands
on 24 Jun 2013
Ede gerlderlands
on 24 Jun 2013
Tom
on 24 Jun 2013
do you know what the answer should be? Can you provide some values for comtime and Tt to test with?
Ede gerlderlands
on 24 Jun 2013
Edited: Ede gerlderlands
on 24 Jun 2013
Ede gerlderlands
on 24 Jun 2013
Tom
on 24 Jun 2013
And do you know what the answer should be for that data?
Ede gerlderlands
on 24 Jun 2013
Jan
on 24 Jun 2013
Please consider rounding errors: The decimal comma seems to show, that the data are not written by Matlab. Comparing values like 734869.006944445 exactly can be tricky, because this could be rounded.
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!