Forming matrix with string

2 views (last 30 days)
Sang Heon Lee
Sang Heon Lee on 23 Sep 2017
Answered: Walter Roberson on 24 Sep 2017

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.

Answers (2)

Image Analyst
Image Analyst on 24 Sep 2017
Edited: Image Analyst on 24 Sep 2017
% 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 on 24 Sep 2017
function result = YourFunction
result = repmat(string('ijk'), 3, 3);
This requires R2016b or later.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!