How to call and also return a matrix in a function?
16 views (last 30 days)
Show older comments
I have a certain requirement in my code that I need to define a separate function for computation of a variable. The variable is a matrix of order of 32x32. As inputs to the function, there are two different matrices of the same order. After calling the function in the code, I want the function to return the whole matrix of order 32x32.
This is how I am writing it currently (but it is not correct):
-calling the function :
matrix = variable(input1, input2);
where 'matrix' is the output and 'variable' is the function name. 'input1' and 'input2' are also matrices of order 32x32.
-function:
function output = variable(in1, in2)
I wanted to know the correct method to do this.
The error that I am getting:
Output argument "output" (and maybe others) not assigned during call to "variable".
Error in test (line 108)
matrix = variable(input1, input2);
3 Comments
Stephen23
on 11 Dec 2017
"This is how I am writing it currently (but it is not correct)"
"I wanted to know the correct method to do this."
What you have shown us is correct. If you are getting any error message then please show us the complete error message (this means all of the red text).
Accepted Answer
KL
on 11 Dec 2017
Output argument "output" (and maybe others) not assigned during call to "variable"
Just as it says you probably haven't assigned anything to output. For example, if you want to add in1 and in2 to form output, it should be,
function output = variable(in1,in2)
output = in1+in2;
end
Passing a matrix is just like passing any other variables into a function but just that you have to know their sizes to do any computations on it. Here I assumed both are same size and so the output will be of their size as well.
0 Comments
More Answers (0)
See Also
Categories
Find more on Numeric Types in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!