У меня есть библиотечная функция, которая принимает параметры в виде текстовой строки (это общая библиотека C с интерфейсом MATLAB) Я хочу назвать его с набором параметров, таких как:
'-a 0 -b 1'
'-a 0 -b 2'
'-a 0 -b 3'
'-a 1 -b 1'
'-a 1 -b 2'
'-a 1 -b 3'
и т.д ...
Я создаю значения a
и b
с помощью meshgrid
:
[a,b] = meshgrid(0:5, 1:3);
, что дает:
a =
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
b =
1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3 3
А теперь я хочу как-то поместить их в ячейку строк:
params = {'-a 0 -b 1'; -a 0 -b 2 '; и т.д ...}
Я пытался использовать sprintf
, но это только объединяет их
sprintf('-a %f -b %f', a ,b)
ans =
-a 0.000000 -b 0.000000-a 0.000000 -b 1.000000-a 1.000000 -b 1.000000-a 2.000000 -b 2.000000-a 2.000000 -b 3.000000-a 3.000000 -b 3.000000-a 4.000000 -b 4.000000-a 4.000000 -b 5.000000-a 5.000000 -b 5.000000-a 1.000000 -b 2.000000-a 3.000000 -b 1.000000-a 2.000000 -b 3.000000-a 1.000000 -b 2.000000-a 3.000000 -b 1.000000-a 2.000000 -b 3.000000-a 1.000000 -b 2.000000-a 3.000000 -b 1.000000-a 2.000000 -b 3.000000
Помимо создания циклов по a
и b
, как создать нужную ячейку?