pass big matrices into function

Hello My question is very simple How can pass many big matrices into function. for example my function is:
f=[B(:);C(:);D(:);E(:);G(;)]
B, C, D, E and G are (1045*942) matrices. I can't write again them in function. I created these matrices before and I want to pass them into function only by name.
How can I do it?

回答 (2 件)

dpb
dpb 2014 年 6 月 24 日

1 投票

function outputs=yourfunction(B,C,D,E,G)
% do whatever to compute outputs with the input arrays
Matlab syntax doesn't care about size or even types of arguments; just refer to them as the variable names and all the rest takes care of itself.
See
doc function
for more details on writing functions in Matlab

2 件のコメント

fatema saba
fatema saba 2014 年 6 月 24 日
Sorry I can't understand. for example my function is:
function[f]= ave2(B,C) f=[B(:);C(:)] end
and I created matrix B and C before. when I ran ave2 in MaTlab I got this error:
Input argument "B" is undefined.
dpb
dpb 2014 年 6 月 24 日
Sorry, you're not providing anything near enough information to tell what went wrong. Show the complete code and the code you ran as you ran it, precisely.
If you have a function in an m-file that consists of
function[f]= ave2(B,C)
f=[B(:);C(:)]
end
Then you call it just like any other Matlab function as (in the calling script or at the command line) --
x=rand(3);
y=rand(5);
z=ave2(x,y);
In this case you would get a returned vector z of length 34 (9+25). Inside the function B would be equated to x and C to y.

サインインしてコメントする。

Image Analyst
Image Analyst 2014 年 6 月 24 日

0 投票

You could have just tried. But don't worry about it - they're not very big. Even 5 of them is not very big at all.

カテゴリ

ヘルプ センター および File ExchangeMATLAB についてさらに検索

質問済み:

2014 年 6 月 24 日

コメント済み:

dpb
2014 年 6 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by