Writing Code For a Function

i am Writing Code For a Function but error what is needed is control operation
also is there another way to delay the function work until after the system work for 3 sec to avoid the transition as prog wait stop the system only one time
function D = fcn(Vo, Vin, DesiredOutPut ,Di)
%#codegen
if Di == 0
Di = DesiredOutPut/(DesiredOutPut + Vin);
else
Di = D
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=0,i<1
prog::wait(3.0)
i= 2
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if Vo < DesiredOutPut
D = Di + 0.01;
elseif Vo > DesiredOutPut
D = Di - 0.01;
else
D = Di;
end

Answers (2)

Mischa Kim
Mischa Kim on 19 Feb 2014
Edited: Mischa Kim on 19 Feb 2014
Shreef, replace
prog::wait(3.0) % unless you are using MuPAD (symbolic)
by
pause(3)
What are you trying to do in the for-loop? At the moment, you enter the loop with i=0, set i=2 and therefore exit the loop right away, since i>1.
shreef
shreef on 20 Feb 2014
i used for to make it one time wait as the input changing constantly but with pause i remove for-loop still getting error
as you can see i am trying to control a sepic converter i tried pid but could not be linearized so i went to use more direct approach by using that vo=vin*D/(1-D) >> D=Vo/(Vo+Vin) so by changing D I can control Vo as Vin Change that in ideal work so i use desiredoutput input to get Dinitial and work my way up or down to get desiredoutput From Current Vo Di Must be a variable i tried using syms Di Got Error Still getting error it is my first time knowing the programing blocks i tried to search but can not controll how i write completely

Categories

Find more on Mathematics in Help Center and File Exchange

Asked:

on 19 Feb 2014

Answered:

on 20 Feb 2014

Community Treasure Hunt

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

Start Hunting!