Первое, что нужно отметить, это то, что есть разница между строками "string"
и символьными массивами 'character array'
.В то время как строки - это одна сущность, массив символов - это массив символов.
Таким образом, вы можете сделать следующее присвоение
A(1) = "Hello";
, но не
B(1) = 'Hello';
, поскольку B(1)
- это одно значение, а 'Hello'
- это 5 значений (H, e, l, l, o).
Во-вторых, вы не можете использовать fprintf
, как вы предлагаете в комментариях, поскольку он печатает только (как в его названии), а переменная, возвращаемая fprintf
, равнаколичество напечатанных символов.Вместо этого для построения строки используйте strcat
вместе с num2str
, так что вы получите:
A = rand(2); %some matrices
B = rand(2);
for i = 1:2
for j = 1:2
C(i,j) = strcat(num2str(A(i,j)),",",num2str(B(i,j)));
end
end
РЕДАКТИРОВАТЬ: Если вы все равно собираетесь поменять запятую на \pm
в LaTeX, вы можете просто сделать это при создании C
, используя вместо этого
C(i,j) = strcat(num2str(A(i,j)),"\pm",num2str(B(i,j)))
.