MATLAB Answers

0

how can i print an array using fprintf function?

Salman Yahya さんによって質問されました 2019 年 10 月 22 日
最新アクティビティ dpb
さんによって 編集されました 2019 年 10 月 22 日
dpb
さんの 回答が採用されました
i tried printing an array
array = [1 2 3];
with fprintf funtion,like this
fprintf('array = %1.0f', array);
but i am getting result in this form:
array = 1array = 2array3
can anyone help me resolving this problem?
i want to get result in this form
array = 1 2 3
or
array = [1 2 3]

  0 件のコメント

サインイン to comment.

製品


リリース

R2018a

1 件の回答

dpb
Answer by dpb
on 22 Oct 2019
Edited by dpb
on 22 Oct 2019
 Accepted Answer

You didn't put but one numeric formatting string in the format; hence, the whole thing repeats as often as needed to output the array. You needs must count the array and build the format string to match:
fmt=['array =' repmat(' %1.0f',1,numel(array))];
fprintf(fmt,array)
NB: The above will echo to screen w/ a newline which may or may not be desired behavior depending upon the application. If want to just display the above on the command line w/ next prompt on new line instead of at end of the string, have to add the \n explicitly:
fmt=['array =' repmat(' %1.0f ',1,numel(array)) '\n'];
One last little nuance: notice didn't put a blank after the '=' sign; that's in front of the numeric format string portion...one after the equal would end up doubling-up for the first element.

  0 件のコメント

サインイン to comment.



Translated by