Creating a growing list

17 次查看(过去 30 天)
for r = 1 : whatever
for c = 1 : whatever2
if Range > 50
Joey = {('Bi**h Changed'),r,c}
Hi,
I want joey to be a list, growing, currently it's overwriting at index one.
Quick fix please, I've seen long winded methods but I'm sure there's something very simple.
Example:
Joey = {Joey,('Bi**h Changed'),r,c} which is silly. Or having a counter, Joey {counter} = ect..... counter = counter +1, which is also silly.

采纳的回答

per isakson
per isakson 2020-12-20
编辑:per isakson 2020-12-20
Add
Joey = cell(0);
before the loops and replace
Joey = {('Bi**h Changed'),r,c}
by
Joey(end+1:end+3) = {('Bi**h Changed'),r,c};
Silly or not is in the eyes of the beholder.
Or you might want
Joey{end+1} = {('Bi**h Changed'),r,c};
  1 个评论
Saud Alfalasi
Saud Alfalasi 2020-12-20
Joey(end+1:end+3) = {('Bi**h Changed'),r,c};
Hey man this is the best I could get, it displayed a horizontal list however beggers cant be choosers.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2020-12-20
编辑:Image Analyst 2020-12-20
There are basically 2 ways that I know of and you listed them. I don't think they're silly. Using a counter is more efficient than appending (your first method). Using a table is even more efficient than a cell array. Even more efficient would be to allocate a large amount of empty cells - way more than you think you would need - then crop the array after the loop
Joey = cell(1000, 1)
counter = 1;
for r = 1 : whatever
for c = 1 : whatever2
if Range > 50
Joey(counter) = {('Bi**h Changed'),r,c}
counter = counter + 1;
end
end
end
Joey = Joey(1:counter); % Crop to however many we actually ended up needing.
  1 个评论
Saud Alfalasi
Saud Alfalasi 2020-12-20
Hi Image Analyst, I want to show you what I've produced after picking your brain (repeadly). Can I send you a file?
(just to show you, nothing else)(I think and hope you'll be impressed)
Saud

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by