formatting string with vectors

5 vues (au cours des 30 derniers jours)
AK ko
AK ko le 11 Juin 2018
Hello,
As a part of my homework task, I need to write a function that formats an existing string with given variables which may be vectors or scalars and returns it in one cell array. for example,
num_participants = 3, experiment_num = 8:10
the output should look like, with no spaces:
exp experiment_number_sub10 participant number
exp8_sub101
exp8_sub102
....
exp_10sub103
and all of this output should be in one cell array. So I figured out two ways and then got stuck:
experiment_num = 8:10
num_participants = 3
f = cellstr(num2str((experiment_num)', 'exp%d_'))
f2 = cellstr(num2str(([1:num_participants])', 'sub10%d'))
This works perfectly fine but I couldn't find a way to concatanate the two cell arrays into one (not in two coloumns but in one column)
and
mat = [experiment_num',(1:num_participants)']
list = sprintf('exp%d_sub10%d\n', mat)
only my output, in this case, is not in the right order
list =
'exp8_sub109
exp10_sub101
exp2_sub103
'
though the columns themselves are aligned properly.
Your help is much appreciated (I read the documentation and googled anything I could, but I cannot understand how to proceed.
Thank you

Réponses (1)

Bob Thompson
Bob Thompson le 11 Juin 2018
You will probably have to run a for loop, but I usually like to just concatenate a string when I put in variables.
if true
experiment_num = 8:10;
num_participants = 3;
for k = 1:length(experiment_num);
list{k} = ['exp',num2str(experiment_num(k)),'_sub10',num2str(k)];
end
end

Catégories

En savoir plus sur Entering Commands dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by