fprintf the contents of a vector
122 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (3 件)
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
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
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);
0 件のコメント
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')
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Graphics Performance についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!