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

답변 (1개)

Walter Roberson
Walter Roberson 2018년 4월 22일

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

카테고리

도움말 센터File Exchange에서 Propulsion and Power Systems에 대해 자세히 알아보기

질문:

2018년 4월 22일

답변:

2018년 4월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by