Text in while loop creating matrix

I was trying to create a matrix with text in some cases, but I can't. I tried with advices from other answers, but it didn't work.
The text which I want to include is «start» and «end» for two different cases like this:
NM = 5
FF = zeros(NM*2,2);
start = 'start';
ending = 'end';
i=1
while i<=NM
FF(i*2,1) = i
FF(i*2-1,1) = i
FF(i*2,2) = fprintf(start);
FF(i*2-1,2) = fprintf(ending)
i = i+1
end

4 个评论

Numeric arrays cannot contain characters.
You could obtain the character code values and store those in a numeric array.
As its documentation makes quite clear, the output of fprintf is the number of bytes printed. It is doubtful that your fprintf usage helps with your stated goal.
Please show an example of what you expect the output to look like.
Tnahk you so much.
But, it could be possible to get the the solution working with tables?
"it could be possible to get the the solution working with tables?"
Possibly, but as you have not shown what the expected output should be nor explained what further processing you will do using this data, it is hard to give any advice on this.
I need to use this block of data to concatenate with other matrix, after that.

请先登录,再进行评论。

回答(1 个)

Thorsten
Thorsten 2019-7-12
编辑:Thorsten 2019-7-12
You have to use cell arrays if you want to mix text and numbers. And fprintf returns the number of printed bytes, so you directly assign the string to the cell, w/o fprintf:
NM = 5
FF = cell(NM*2,2);
start = 'start';
ending = 'end';
i=1;
while i<=NM
FF{i*2,1} = i;
FF{i*2-1,1} = i;
FF{i*2,2} = start;
FF{i*2-1,2} = ending;
i = i+1;
end

1 个评论

I need to concatenate after this loop with another matrix. Tables are the solution?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by