Using a cell array and a for loop
显示 更早的评论
Hey guys, I have to do a cell array to strore some information about an animal and use a for loop to display that information and the result should look like this:
Identification number: 1
Gender: M
Weight: 400
Age: 4
Treatment: 0
I've tried many thing and I dont get how to have to columns. This is what i've tried.
rat_cell = {'number', 'sex', 'weight', 'age', 'treatment', 1, 'M', 400, 4, 0};
for i = 1:5
disp(rat_cell(i,:))
for j = 1:5
disp (rat_cell (j,:));
end
end
I dont get why it doesnt show 2 columns like its supposed to. Thanks
采纳的回答
更多回答(2 个)
Andrei Bobrov
2014-1-28
use struct array
rat_cell = {'number', 'sex', 'weight', 'age', 'treatment', 1, 'M', 400, 4, 0};
a = reshape(rat_cell,5,[])';
out = struct(a{:});
Azzi Abdelmalek
2014-1-28
编辑:Azzi Abdelmalek
2014-1-28
There are many errors in your code:
Why nested loop? you are using display function 30 times!
i=1:5 and j=1:5 , you will never reach the 6th element
rat_cell(i,:) : what does that mean?
The correct code:
rat_cell = {'number', 'sex', 'weight', 'age', 'treatment', 1, 'M', 400, 4, 0};
for i = 1:5
disp([rat_cell{i} ':' num2str(rat_cell {i+5})]);
end
But for such problems, it's better to use what Andrei proposed
3 个评论
Riri
2014-1-28
Azzi Abdelmalek
2014-1-28
编辑:Azzi Abdelmalek
2014-1-28
rat_cell is 1x10 cell array. There is one row and 10 columns. You needed to put the first cell near the sixth cell and the second near the seventh, and so on.
Riri
2014-1-28
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!