Forming matrix with string

2 次查看(过去 30 天)
Sang Heon Lee
Sang Heon Lee 2017-9-23

How can I make function that forms a matrix with string? If string is 'idk' and number is 3 the output should be sth like this [idk,idk,idk;idk,idk,idk;idk,idk,idk], matrix of 'idk' with 3 rows and colums.

回答(2 个)

Image Analyst
Image Analyst 2017-9-24
编辑:Image Analyst 2017-9-24
% Make the 9 strings into a cell array:
ca = {'idk','idk','idk';'idk','idk','idk';'idk','idk','idk'}
You'll see:
ca =
3×3 cell array
{'idk'} {'idk'} {'idk'}
{'idk'} {'idk'} {'idk'}
{'idk'} {'idk'} {'idk'}
If the 3 is really a variable, and you want an actual function instead of a single line of code, then you can do it like this, using repmat():
function ca = MakeCellArray(numRows)
% Make the 9 strings into a cell array:
oneCell = {'idk'}; % Make just one for a start.
% Turn it into a 3x3 array of cells
ca = repmat(oneCell, [numRows, numRows])

Walter Roberson
Walter Roberson 2017-9-24
function result = YourFunction
result = repmat(string('ijk'), 3, 3);
This requires R2016b or later.

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by