passing arguments between function files
情報
この質問は閉じられています。 編集または回答するには再度開いてください。
古いコメントを表示
Anyone know how to allow multiple files as input for one function file?
4 件のコメント
Jan
2012 年 6 月 30 日
Please explain any details of your problem.
anna
2012 年 7 月 2 日
Jan
2012 年 7 月 3 日
Do you mean something like: Z = max(sin(0.2), cos(0.3))? max, sin and cos are functions also.
Usually it helps to understand the problem, if you post, what you have tried so far.
Walter Roberson
2012 年 8 月 24 日
(No obvious reason to close this question, but one of the Answers should be Accepted.)
回答 (2 件)
Image Analyst
2012 年 6 月 30 日
編集済み: Image Analyst
2012 年 7 月 3 日
% Define a function to take mulitple filenames and return multiple outputs.
function [output1 output2 output3] = yourFunction(filename1, filename2, filename3)
4 件のコメント
anna
2012 年 7 月 2 日
Image Analyst
2012 年 7 月 3 日
Why not? That's how you define a function to take multiple inputs and return multiple outputs. You call it almost the same way, just don't use the function word:
% Call the function.
[output1 output2 output3] = yourFunction(filename1, filename2, filename3);
anna
2012 年 7 月 4 日
Image Analyst
2012 年 7 月 15 日
If funcx and funcy both return an x and a y, how about
[x1 y1] = funcx();
[x2 y2] = funcy();
zOutput = funcz(x1, y1, x2, y2);
or using an alternate interpretation of your wording:
x = funcx();
y = funcy();
zOutput = funcz(x, y);
(This is what Walter said except that I'm capturing the outputs into arrays in the main program first before I pass them into funcz.)
Walter Roberson
2012 年 7 月 3 日
Z = funcZ( funcX(), funcY() );
disp(Z);
function Z = funcZ( X, Y )
Z = .... appropriate code ...
end
function X = funcX()
X = .... appropriate code ...
end
function Y = funcY()
Y = .... appropriate code ...
end
2 件のコメント
anna
2012 年 7 月 4 日
Walter Roberson
2012 年 7 月 15 日
You said that X is an output of funcX and Y is an output of funcY, so you should not be passing X or Y into funcX and funcY
Put the following into testfuncZ.m :
Z = funcZ( funcX(), funcY() );
disp(Z);
Then put the funcZ code into funcZ.m and the funcX code into funcX.m and the funcY code into funcY.m . Invoke it all by giving the command
testfuncZ
この質問は閉じられています。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!