Dear all,
I am having a challenge, which I think, should be possible to overcome, but how to go about it has been challenging for me, I have a function with multiple output in this case 3 output, and I am calling all three output for further use. The issue now is how do I call the three output without repeating the entire calculation in the process. As I have observed that for the 3 times I called it, it runs afresh all 3 times. In the first place calling it once is time consuming how more calling it 3 times, whic makes the process computational expensive to achieve.
Thanks
Kind regards
%The function were all the three output from the multi-output function are to be %inserted for further use.
function [c, ceq] = nonconst(x)
c = total_value(x)-u*v;... ` `%first output from the multi-output %function
u*energy_value(x);... %2nd output from the multi-output %function
v*Delta_value(x); %Third output from the multi-output %function
ceq = [];
end
%The function to call the first output from the digital function
function D_total = total_value(x)
D_total = digital(x) % ca
end
%The function to call the 2nd output from the digital function
function D_value = Delta_value(x)
[~, D_value, ~] = digital(x)
end
%The function to call the third output from the digital function
function D_energy = energy_value(x)
[~, ~, D_energy] = digital(x)
end
%This is a multi-output function comprises of 3 output which are D_total,
% D_value and D_energy
function [D_total, D_value, D_energy] = digital(x)
;;;;;;;;;;;; %The conetent of the function has been cleared
;;;;;;;;;;;
;;;;;;;;;;
end
1 Comment
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/495943-how-to-call-a-multi-output-function-without-repeating-the-run#comment_777712
Direct link to this comment
https://au.mathworks.com/matlabcentral/answers/495943-how-to-call-a-multi-output-function-without-repeating-the-run#comment_777712
Sign in to comment.