pass big matrices into function
3 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(2 个)
dpb
2014-6-24
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 个评论
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
2014-6-24
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!