Output argument "y" (and maybe others) not assigned during call
Show older comments
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;
1 Comment
Darin McCoy
on 11 Feb 2014
You should really use the
{} Code
button for this type of question...
Answers (1)
Image Analyst
on 11 Feb 2014
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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!