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!