How do i make a switching function?

1 view (last 30 days)
Roy Hauge
Roy Hauge on 29 Apr 2015
Answered: Roy Hauge on 29 Apr 2015
I am trying to make a switching function for a simulink function block. Currently and faulty:
function y = Switch(SOC,Input,Launch,Charge,A)
%#codegen
y = A;
if ((Launch == 1), (SOC ~= Input))
y = Charge;
else
y = A;
end
I want the output y to be the same as A unless the Launch is 1 and SOC is different from Input, in that case I want y = Charge. Another block takes care of comparing SOC and Input driving the Charge current.
How do i modify this code to get the correct switching. As an addon the y = Charge should hold until SOC = Input and then reset back to y = A;

Answers (1)

Roy Hauge
Roy Hauge on 29 Apr 2015
Syntax error replaced , with && in if statement.
function y = Switch(SOC,Input,Launch,Charge,A)
%#codegen
y = A;
if ((Launch == 1) && (SOC ~= Input))
y = Charge;
else
y = A;
end

Categories

Find more on Code Generation in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!