Clear Filters
Clear Filters

How do i make a switching function?

5 views (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

Products

Community Treasure Hunt

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

Start Hunting!