Info
この質問は閉じられています。 編集または回答するには再度開いてください。
General expression for inputting n number of arguments
3 ビュー (過去 30 日間)
古いコメントを表示
Hi
This is just an example of what I am basically asking..
I have an objective function eg., f=@(a,b,c,d) a+2*b+3*c+d;
with those unknown variables [a,b,c,d]
I created an array of random numbers eg., A = [1 5 3 2];
and now I calculate my objective value eg., f_obj=abs(f(A(1),A(2),A(3),A(4));
and this gives me a numerical output.
Now my question is, how do I code f_obj to receive any number of arguments? Say, I have 3 unknowns, or 5 unknowns. The objective function is random so I don't want to have to keep updating my code if this changes. Is there a way to code a general expression? Ive seen that 'varargin' is used but I'm not sure if this is the correct solution.
Thank you
0 件のコメント
回答 (1 件)
Walter Roberson
2016 年 2 月 22 日
function r = call_f(f)
n = abs(nargin(f));
A = num2cell( rand(1,n) );
r = f(A{:});
0 件のコメント
この質問は閉じられています。
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!