How to use fprintf statements after a function

2 views (last 30 days)
I have a function. For my class, we have to put result output at the bottom of our code. However, functions have to be at the bottom. Is there a way I can use fprintf statements under the function?
%% Section 2: Processing
function y=vorder(x)
N=length(x);
y=x;
for i=2:N-1
if y(i-1)>y(i)
tmp=y(i);
y(i-1)=y(i);
y(i)=tp;
end
end
for i=N-1:2
if y(i)<y(i-1)
tm=y(i);
y(i)=y(i-2);
y(i-1)=tmp;
end
end
end
%% Section 3: Result Output ERRORS HERE
fprintf('Input and output\n');
fprintf('%d ',x); fprintf('\n');
fprintf('%d ',y); fprintf('\n');
  1 Comment
Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam on 9 Oct 2020
You can use another function that includes frprintf statements.
Also, the order of functions are nor important. It is not necessary to use fprintf after the function.

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 9 Oct 2020
Yes.
Try something like this:
x = ...;
y=vorder(x); % Call Function
fprintf('Input and output\n');
fprintf('%d ',x); fprintf('\n');
fprintf('%d ',y); fprintf('\n');
function y=vorder(x)
. . .
end
You need to call the function to get the output from it. Then write the output. The function itself is at the end of the script file.
I did not run this, so I will leave it to you to experiment with it.
.

KSSV
KSSV on 9 Oct 2020
Let x be your vector.
fmt = [repmat('%g, ', 1, numel(x)-1), '\n'] ;
fprintf(fmt, x)

Community Treasure Hunt

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

Start Hunting!