fprintf the contents of a vector

183 次查看(过去 30 天)
Obadah M.
Obadah M. 2018-11-17
评论: madhan ravi 2018-11-18
Hello,
As the title suggests, I want to display the contents of a vector in a fprintf command. I have read several posts about sprintf function and had no luck.
My current solution is this..... Is there any more efficient way to right it with less lines of codes?
fprintf('My first vector: ')
fprintf('%d ', vector1)
fprintf('\n')
fprintf('My second vector: ')
fprintf('%d ', vector2)
fprintf('\n')
fprintf('My third vector: ')
fprintf('%d ', vector3)
fprintf('\n')

回答(3 个)

madhan ravi
madhan ravi 2018-11-17
编辑:madhan ravi 2018-11-17
EDITED
But this method is much faster than yours:
g=sprintf('%d ', vector1);
fprintf('Vector1 : %s\n', g)
g=sprintf('%d ', vector2);
fprintf('Vector2 : %s\n', g)
g=sprintf('%d ', vector3);
fprintf('Vector3 : %s\n', g)
Ran a loop to check the speed:
tic
for i = 1:100000
vector1 =1:10;
g=sprintf('%d ', vector1);
fprintf('Vector1 : %s\n', g)
end
toc
Elapsed time is 10.538184 seconds.
tic
for i = 1:100000
vector1 =1:10;
fprintf('Vector1 : ')
fprintf('%d ', vector1)
fprintf('\n')
end
toc
Elapsed time is 15.363047 seconds.
  4 个评论
Image Analyst
Image Analyst 2018-11-17
On my computer, my code below takes
Elapsed time is 0.000407 seconds.
so speed doesn't seem to be an issue worth worrying about.

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2018-11-17
Fewer lines of code but not necessarily any more efficient in execution:
fprintf( ['My first vector: ', repmat('%d ', 1, numel(vector1)), '\n'], vector1);

Image Analyst
Image Analyst 2018-11-17
You could get rid of two of the fprintf's:
fprintf('My first vector: ')
fprintf('%d ', vector1)
fprintf('\nMy second vector: ')
fprintf('%d ', vector2)
fprintf('\nMy third vector: ')
fprintf('%d ', vector3)
fprintf('\n')

类别

Help CenterFile Exchange 中查找有关 Graphics Performance 的更多信息

标签

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by