how can i program a matfunction block?

I have 3 batteries with me. I want to turn on the switch of the battery corresponding to the highest state of charge I had done following mathfunction. but it shows some errors
function [s1,s2,s3] = fcn(soc1,soc2,soc3)
y = max([soc1,soc2,soc3]);
if y==soc1
s1=1;
s2=0;
s3=0;
elseif y==soc2
s2=1;
s1=0;
s3=0;
elseif y==soc3
s3=1;
s1=0;
s2=0;
end
end

Risposte (1)

[y, idx] = max([soc1, soc2, soc3]);
s1 = 0; s2 = 0; s3 = 0;
if idx == 1; s1 = 1; end
if idx == 2; s2 = 1; end
if idx == 3; s3 = 1; end

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by