How to call and also return a matrix in a function?
14 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Stephen23
2017 年 12 月 11 日
"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).
採用された回答
KL
2017 年 12 月 11 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Numeric Types についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!