MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by huda nawaf
on 25 Dec 2011

hi, I need two outputs from function , the first one is matrix , and the other is one value. two calls for function , the first call need the matrix and the second call need value. how do that? I built fun. with two outputs: function [m,n]=d(any input); thanks in advance

*No products are associated with this question.*

Answer by Walter Roberson
on 26 Dec 2011

Call the function twice and have the calling routine throw away the output that it does not need at the time.

Answer by Naz
on 26 Dec 2011

Let's say your function will have a name myFunction. As I understood, you want to pass a parameter to this function and get two output variables from it.

To call the function you use the following syntax:

[m,n]=myFunction(input);

To build your own function crate a file->new, paste this code and save as a separate file:

function [ M n ] = myFunction(inputParameter)

n=5*inputParameter; M=ones(10,10);

end

The function will return matrix 'M' 10x10 of ones and 'n' will be your input scaled by 5.

huda nawaf
on 26 Dec 2011

thanks,

I got just M, what about n?

when I call this function from another program , how get n?

Walter Roberson
on 26 Dec 2011

In both places, call it as

[M, n] = myFunction(inputParameter);

and throw away which ever one of M or n you are not interested in at the time.

Your sentence about "two calls for function, the first call need the matrix and the second call need value" does indicate that there are two different calls, right?

## 1 Comment

## Jan Simon

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/24697#comment_54503

The question is not clear.