使用 sprintf 打印元素数量可变的向量
在下面的代码中,我可以打印向量 item
中的所有元素,并用空格分隔,如下
item = [123 456 789];
sprintf('%d %d %d', item)
ans =
123 456 789
所示: How do I go do this而不需要输入尽可能多的 %d
item
中的元素数量?
In the following code, I can print all the elements in the vector item
separated by a space as
item = [123 456 789];
sprintf('%d %d %d', item)
ans =
123 456 789
How do I go about doing this without having to enter as many %d
as the number of elements in item
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最简单的答案是注意SPRINTF将自动循环遍历所有你给它的向量的元素,所以你只需要使用一个
%d
,但是在它后面或前面加一个空格。然后,您可以使用函数 STRTRIM 删除末端多余的空白。例如:The simplest answer is to note that SPRINTF will automatically cycle through all the elements of a vector you give it, so you only have to use one
%d
, but follow it or lead it with a space. Then you can remove extra white space on the ends using the function STRTRIM. For example:我相信
num2str
就是你的寻找。由于您还为其添加了
sprintf
标签,因此这里有一个使用它的解决方案。I believe
num2str
is what you're looking for.Since you also tagged it
sprintf
, here's a solution that uses it.根据上述答案创建一个函数,并将其保存在名为函数名称的文件中。
保存在名为 print_vector.m 的文件中,放置在文件夹 /home/${project_file_path}/functions 中,
导入到您的程序中并将输出
用作:
Created a function as per the above answer and save it in a file named as the function name.
saved in file named as print_vector.m placed in folder /home/${project_file_path}/functions
import in your program and use
outputs as: