在下面的代码中,我可以打印item由空格分隔的向量中的所有元素
item = [123 456 789];
sprintf('%d %d %d', item)
ans =
123 456 789
Run Code Online (Sandbox Code Playgroud)
如何在不必输入多少%d元素的情况下进行此操作item?
gno*_*ice 19
最简单的答案是要注意SPRINTF将自动循环遍历你给它的向量的所有元素,所以你只需要使用一个 %d,但是跟随它或用空格引导它.然后,您可以使用STRTRIM功能删除末端的额外空白区域.例如:
>> item = [123 456 789];
>> strtrim(sprintf('%d ',item))
ans =
123 456 789
Run Code Online (Sandbox Code Playgroud)
我相信num2str这就是你要找的。
item=[123 456 789];
num2str(item)
ans =
123 456 789
Run Code Online (Sandbox Code Playgroud)
由于您还标记了它sprintf,这里有一个使用它的解决方案。
item=[123 456 789];
str='%d ';
nItem=numel(item);
strAll=repmat(str,1,nItem);
sprintf(strAll(1:end-1),item)
ans =
123 456 789
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21485 次 |
| 最近记录: |