How to output multiple results via function
1 回表示 (過去 30 日間)
古いコメントを表示
Maybe this is a basic question. Please help me with it. I define a function with a couple parameters.
function f=fun(y,lambda)
[y,fval]=fmincon(@(y)fun(y,lambda),y0,[],[],[],[],[],[],[],[])
y is chosen to minimize function fun. The outputs are y and fval. I would like to output some other values, for example, y*lambda. I know I can output y*lambda in the next step after fmincon. How to output y*lambda directly in the function or in optimization problem?
0 件のコメント
採用された回答
jgg
2016 年 4 月 11 日
Do you mean from the function fun?
It's pretty easy:
function [f,yl,otherstuff] =fun(y,lambda)
[y,fval]=fmincon(@(y)fun(y,lambda),y0,[],[],[],[],[],[],[],[]);
yl = y*lambda;
otherstuff = otherstuff_create();
end
Like this.
2 件のコメント
jgg
2016 年 4 月 11 日
You have to store the output as well, or display it. For instance, you would call that function like this:
[f,yl,otherstuff] = fun(y,lambda)
I'm not sure exactly what your function is, though, so I can't be more precise.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!