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일

0 개 추천

% 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일

0 개 추천

function result = YourFunction
result = repmat(string('ijk'), 3, 3);
This requires R2016b or later.

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2017년 9월 23일

답변:

2017년 9월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by