Hello can some one tell me why i get this mistake when i try to run the simulation?
Output argument 'battery' is not assigned on some execution paths.
Function 'MATLAB Function1' (#131.10.17), line 1, column 11:
"battery"
Launch diagnostic report.
function [battery, load, Emerg] = BattController1(SOC, Vconv)
%#codegen
persistent casevar
if isempty (casevar)
casevar=0;
end
switch (casevar)
% case 0
% if SOC==0 casevar=0;
% battery=0;
% load=0;
% Emerg=0;
% end
case 1
if SOC>=95 casevar=1;
load=1;
battery=0;
Emerg=0;
end
%suppliying load from batteries and disconnect it from PV panels charge in order to avoid overcharges
case 2
if (30<SOC) && (SOC<95) casevar=2;
load=1;
battery =1;
Emerg=0;
end
%suppliying load from batteries and batteries charging
case 3
if (SOC<30) && (Vconv>19) casevar=3;
load=0;
battery=1;
Emerg=1;
else
load=0;
battery=0;
Emerg=0;
end
%battery charging of PV panels and load disconected from batteries
otherwise
load=0;
battery=0;
Emerg=0;
end

댓글 수: 3

SALAH alatai
SALAH alatai 2022년 5월 31일
@Tony Castillo if you solve this issue please share it . thanks
case 1
if SOC>=95
if you got case 1 but SOC<95 then MATLAB will not look inside case 2 and the others to find matches, and will not activate the otherwise.
You should set the output values to the otherwise choices first, and then after that have your case that will fill in better values sometimes... and if not then the outputs will still be set to 0 or whatever you initialize
@SALAH alatai It has been a while since I faced this issue, I can not find the file unfortunately.

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
Walter Roberson 2016년 6월 1일

0 개 추천

Suppose case 1 but SOC < 95, then what will battery be assigned?

댓글 수: 2

I suppose you mean this: if SOC>=95 casevar=1; I still don't know what is the error.
Stephen23
Stephen23 2016년 6월 2일
편집: Stephen23 2016년 6월 2일
@Tony Castillo: read Walter's answer again: consider case 1 and SOC<95, then you do not define the outputs. But you call the function with some outputs, and yet they are not defined... thus the error.
The solution is to define the outputs for every possible permutation of states, or to define some default values once at the beginning of the function.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Spline Postprocessing에 대해 자세히 알아보기

태그

질문:

2016년 6월 1일

댓글:

2022년 5월 31일

Community Treasure Hunt

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

Start Hunting!

Translated by