Output argument "y" (and maybe others) not assigned during call

This is the error message generated while running my function please help me .
function y=table(x)
C_flux=x(1);C_pl=x(2);secteur=x(3);
V0=[0;0;0];V1=[1;0;0];V2=[1;1;0];V3=[0;1;0];
V4=[0;1;1];V5=[0;0;1];V6=[1;0;1];V7=[1;1;1];
if C_flux==1%%%%%%%%%%%%%%%%%%%%%%%
if C_pl==1
if secteur==1
y=V2;
elseif secteur==2
y=V3;
elseif secteur==3
y=V4;
elseif secteur==4
y=V5;
elseif secteur==5
y=V6;
elseif secteur==6
y=V1;
end;
elseif C_pl==0%%%%%%%%%%%%%%%%%%%%%
if secteur==1
y=V0;
elseif secteur==2
y=V7;
elseif secteur==3
y=V0;
elseif secteur==4
y=V7;
elseif secteur==5
y=V0;
elseif secteur==6
y=V7;
end;
elseif C_pl==-1%%%%%%%%%%%%%%%
if secteur==1
y=V6;
elseif secteur==2
y=V1;
elseif secteur==3
y=V2;
elseif secteur==4
y=V3;
elseif secteur==5
y=V4;
elseif secteur==6
y=V5;
end;
end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
else
if C_pl==1
if secteur==1
y=V3;
elseif secteur==2
y=V4;
elseif secteur==3
y=V5;
elseif secteur==4
y=V6;
elseif secteur==5
y=V1;
elseif secteur==6
y=V2;
end;
elseif C_pl==0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if secteur==1
y=V7;
elseif secteur==2
y=V0;
elseif secteur==3
y=V7;
elseif secteur==4
y=V0;
elseif secteur==5
y=V7;
elseif secteur==6
y=V0;
end;
elseif C_pl==-1%%%%%%%%%%%%%%%%%%%%%%%%%%%
if secteur==1
y=V5;
elseif secteur==2
y=V6;
elseif secteur==3
y=V1;
elseif secteur==4
y=V2;
elseif secteur==5
y=V3;
elseif secteur==6
y=V4;
end;
end;
end;

Answers (1)

Your ifs are never true so y does not get assigned to anything, yet it's supposed to return y so it complains. Assign y to something as the first statement in your function
y = []; % or 0 or -1 or whatever number you want.

Categories

Find more on Programming in Help Center and File Exchange

Asked:

med
on 11 Feb 2014

Edited:

on 11 Feb 2014

Community Treasure Hunt

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

Start Hunting!