returning output of nested function

3 次查看(过去 30 天)
Hi there,
I have a function nested inside another function. How can I get the main function to return the output of the nested function so that I can see it in the workspace? I want to the "fval" as an output below.
Thank you
function [output1,output2] = OptimiseEnergy(input1,input2,input3,input4)
% do stuff with inputs 1-4
[x, fval] = linprog(obj_vec, a, b,[],[],lb,ub,x0,options)
end

采纳的回答

Wayne King
Wayne King 2013-12-9
编辑:Wayne King 2013-12-9
You have to assign fval to one of the outputs of the top-level function.
Or add fval as an output of the top-level function -- OptimiseEnergy
For example:
function [x,y,z] = playfunc(a,b)
% a and b are equal size vectors
x = a+b;
y = a-b;
z = conv(x,y);
end
conv.m is called inside playfunc.m and the output of conv is returned from playfunc.m

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Function Creation 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by