Creating a cell array of size n
显示 更早的评论
I need a cell array of size n, like if n is 3, I need
C = {'red','red','red'}
If n is 100,
C = {'red','red',.......'red'}(100 cells)
I tried this,
C = cell(1,n);
for i = 1:n
C(i) = 'red';
end
This gives known error of conversion to cell from char is not possible.
采纳的回答
更多回答(3 个)
Jan
2012-7-5
C = cell(1, n);
C(:) = {'red'};
F.
2012-7-5
Your error :
C(i) = 'red';
C is a cell array, with C(i) you reach the place in the cell array and not the element which is in this place. So try :
C{i} = 'red';
2 个评论
F.
2012-7-5
I'm not sure but try also this :
n = 100
repmat( {'red'}, 1, n )
Giuseppe Degan Di Dieco
2021-5-19
Dear F,
thanks for your explanation of the cell array object.
Actually, it was quite tricky to understand.
Best.
grapevine
2012-7-5
You have to modify your code in this way :
C = cell(1,n);
for i = 1:n
C(i) = java.lang.String('red');
end
Another solution could pass by using the function: char2cell, which is available on Matlab Central Exchange
good luck
类别
在 帮助中心 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!