fprintf the contents of a vector
120 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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')
0 Commenti
Risposte (3)
madhan ravi
il 17 Nov 2018
Modificato: madhan ravi
il 17 Nov 2018
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 Commenti
Image Analyst
il 17 Nov 2018
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
il 17 Nov 2018
Fewer lines of code but not necessarily any more efficient in execution:
fprintf( ['My first vector: ', repmat('%d ', 1, numel(vector1)), '\n'], vector1);
0 Commenti
Image Analyst
il 17 Nov 2018
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')
0 Commenti
Vedere anche
Categorie
Scopri di più su Graphics Performance in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!