How do I make the same output using the fprintf() command instead of disp()?

1 view (last 30 days)
Hello, this is my first question on here and I notice Answerers are sometimes frustrated by questions, so I hope this question does not anger anyone. I am trying to use fprintf() instead of the disp() and have the exact same output. Here's the editor window and output:
editor:
A = [1 2 3;4 5 6;7 8 9];
[m,n] = size(A);
for i = 1:m
for j = 1:n
disp(['A(',num2str(i),',',num2str(j),') = ',num2str(A(i,j))])
end
end
output:
>> Practice9
A(1,1) = 1
A(1,2) = 2
A(1,3) = 3
A(2,1) = 4
A(2,2) = 5
A(2,3) = 6
A(3,1) = 7
A(3,2) = 8
A(3,3) = 9
>>
%Also, this is what I attempted to do, but got a 'horzcat' error
%what is that???
A = [1 2 3;4 5 6;7 8 9];
[m,n] = size(A);
for i = 1:m
for j = 1:n
fprintf(['A(','(%s,','%s) = ','%f',i,j,A])
%% disp(['A(',num2str(i),',',num2str(j),') = ',num2str(A(i,j))])
end
end
  6 Comments
Adam Hernandez
Adam Hernandez on 14 Nov 2018
Thank you to everyone for the input!!! It is very much appreciated, especially at this hour.

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 14 Nov 2018
Edited: madhan ravi on 14 Nov 2018
Replace disp with:
fprintf('A(%d,%d)=%d\n',i,j,A(i,j))
  5 Comments
Adam
Adam on 14 Nov 2018
Well, where you use them you are also encompassing the arguments that are to be inserted in place of the placeholder %d formatting specifiers. These need to be distinct arguments to fprintf, they are not part of the string first argument. Other than that, as madhan ravi says, they are mostly just superfluous if you are putting them only around the initial string part of the argument.
disp is different because you have to put together the combination of bits of the string and numeric components which have to be converted to string yourself, thus you concatenate all these components.
fprintf does that for you via those %d format specifiers so that you can just give a single formatting string, then supply the arguments that will be inserted in-place of those format specifiers. fprintf will handle converting them to the type you request (e.g. %i converts to an integer, %f to float, %s inserts as a string, etc).

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!