Create a cell array

2 visualizzazioni (ultimi 30 giorni)
Cristian
Cristian il 10 Mag 2014
Risposto: Image Analyst il 10 Mag 2014
How to create a cell arrays consisting of various combinations of letters ABCDE? Letters can be repeated.
  1 Commento
Image Analyst
Image Analyst il 10 Mag 2014
What about the lengths of the strings? Are 'ABBD' and 'EEECBAABBEEEDDD' both allowed (in different cells of course)? Or so they all have to be 5 characters long, like 'AAAAA' and 'AECCB'?

Accedi per commentare.

Risposte (2)

Andrei Bobrov
Andrei Bobrov il 10 Mag 2014
perms('A':'E')

Image Analyst
Image Analyst il 10 Mag 2014
Try this:
clc;
numberOfCells = 10; % Whatever you want
letters = cell(numberOfCells, 1); % Initialize.
for k = 1 : numberOfCells
% Get random length between 1 and 9
thisLength = randi(9);
% Get all letters from A up to the max allowed.
% Numbers are randomly chosen so that repeats may occur.
m = 64+randi(thisLength, [1, thisLength]);
letters{k} = sprintf('%c', m);
end
% Show the cell array in the command window.
celldisp(letters);
In the command window you'll see:
letters{1} =
DBBAGED
letters{2} =
ABC
letters{3} =
AA
letters{4} =
A
letters{5} =
DBCA
letters{6} =
ADDB
letters{7} =
CDFECCD
letters{8} =
BCCB
letters{9} =
AABB
letters{10} =
FFCBEE

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by