Ask an expert. Trust the answer.

Your academic and career questions answered by verified experts

return multiple output variables from Matlab function

Date: 2022-07-21 11:05:14

Lets say I have a function: 

 

function [ A, B, C ] = test(x, y, z)
    A=2*x;
    B=2*y;
    C=2*z;
end

When you press run, Matlab returns only the first value from the output arguments - [A] in this case. Is there a command that I can put inside my function that automatically returns all the function output arguments [A,B,C] instead of just the first argument. I know I can type in my command windows [ A, B, C ] = test(x, y, z) and get all the values, but I am lazy sometimes, and would just like to press Run and get automatically all the values. 

Answers: 

Some options:

Add a parameter to specify verbose output the console but set it to false by default: 

 

function [ A, B, C ] = test(x, y, z, verbose)

   if nargin = 3
       verbose = false;
   end;

   A=2*x;
   B=2*y;
   C=2*z;

   if verbose
       fprintf('A = %f\nB = %f\nC = %f', A, B, C);
   end;

end

or combine them into one output: 

 

function output = test(x, y, z)

   A=2*x;
   B=2*y;
   C=2*z;

   output = [A, B, C]; %// Or {A;B;C} if they're not going to be the same size, but then it won't display anyway

end

or if you really really want to I guess you could write a wrapper function that you call on your function and it displays all three for you that you could use generically on any function. But that hardly seems worthwhile.


Why Matlabhelpers ?

Our Matlab assignment helpers for online MATLAB assignment help service take utmost care of your assignments by keeping the codes simple yet of high-quality. We offer the most reliable MATLAB solutions to students pursuing their Computer Science course from the Monash University, the University of Sydney, the University of New South Wales, the University of Melbourne; to name a few. Approach us today for best Matlab solutions online!

whatsApp order on matlabhelpers.com

telegram order on matlabsolutions.com