
我这个程序,在matlab的simulink中function中,我想实现3个输入,3个输出。
function[Sa,Sb,Sc]=fcn(u1,u2,u3)if(u1==1&&u2==1)switchu3case1:Sa=0;Sb=0;Sc=1;case2:Sa...
function [Sa,Sb,Sc]= fcn(u1,u2,u3)
if(u1==1&&u2==1)
switch u3
case 1:Sa=0;Sb=0;Sc=1;
case 2:Sa=0;Sb=1;Sc=0;
case 3:Sa=0;Sb=1;Sc=1;
case 4:Sa=0;Sb=0;Sc=1;
case 5:Sa=1;Sb=0;Sc=1;
case 6:Sa=1;Sb=1;Sc=0;
end
elseif(u(2)==0)
Sa=0;Sb=0;Sc=0;
elseif(u(1)==1&&u(2)==-1)
switch u(3)
case 1:Sa=1;Sb=0;Sc=1;
case 2:Sa=1;Sb=1;Sc=0;
case 3:Sa=0;Sb=0;Sc=1;
case 4:Sa=0;Sb=1;Sc=0;
case 5:Sa=0;Sb=1;Sc=1;
case 6:Sa=0;Sb=0;Sc=1;
end
elseif(u(1)==0&&u(2)==1)
switch u3
case 1:Sa=0;Sb=0;Sc=1;
case 2:Sa=0;Sb=0;Sc=1;
case 3:Sa=0;Sb=0;Sc=1;
case 4:Sa=0;Sb=0;Sc=1;
case 5:Sa=0;Sb=0;Sc=1;
case 6:Sa=0;Sb=0;Sc=1;
end
else(u(1)==0&&u(2)==-1)
switch u3
case 1:Sa=0;Sb=0;Sc=1;
case 2:Sa=1;Sb=0;Sc=1;
case 3:Sa=1;Sb=1;Sc=0;
case 4:Sa=0;Sb=0;Sc=1;
case 5:Sa=0;Sb=1;Sc=0;
case 6:Sa=0;Sb=1;Sc=1;
end
end
y = [Sa;Sb;Sc];
end
这是程序,不知道哪里有错误。 展开
if(u1==1&&u2==1)
switch u3
case 1:Sa=0;Sb=0;Sc=1;
case 2:Sa=0;Sb=1;Sc=0;
case 3:Sa=0;Sb=1;Sc=1;
case 4:Sa=0;Sb=0;Sc=1;
case 5:Sa=1;Sb=0;Sc=1;
case 6:Sa=1;Sb=1;Sc=0;
end
elseif(u(2)==0)
Sa=0;Sb=0;Sc=0;
elseif(u(1)==1&&u(2)==-1)
switch u(3)
case 1:Sa=1;Sb=0;Sc=1;
case 2:Sa=1;Sb=1;Sc=0;
case 3:Sa=0;Sb=0;Sc=1;
case 4:Sa=0;Sb=1;Sc=0;
case 5:Sa=0;Sb=1;Sc=1;
case 6:Sa=0;Sb=0;Sc=1;
end
elseif(u(1)==0&&u(2)==1)
switch u3
case 1:Sa=0;Sb=0;Sc=1;
case 2:Sa=0;Sb=0;Sc=1;
case 3:Sa=0;Sb=0;Sc=1;
case 4:Sa=0;Sb=0;Sc=1;
case 5:Sa=0;Sb=0;Sc=1;
case 6:Sa=0;Sb=0;Sc=1;
end
else(u(1)==0&&u(2)==-1)
switch u3
case 1:Sa=0;Sb=0;Sc=1;
case 2:Sa=1;Sb=0;Sc=1;
case 3:Sa=1;Sb=1;Sc=0;
case 4:Sa=0;Sb=0;Sc=1;
case 5:Sa=0;Sb=1;Sc=0;
case 6:Sa=0;Sb=1;Sc=1;
end
end
y = [Sa;Sb;Sc];
end
这是程序,不知道哪里有错误。 展开
1个回答
展开全部
从图判断,你用的是Embedded MATLAB Function模块;
MATLAB的switch...case语句和C语言不同,case的后面应该接逗号而不是冒号;
你的u1、u2、u3多处误写成u(1)、u(2)、u(3);
条件语句的最后一个分支
else(u1==0&&u2==-1)
到底有没有条件判断?有条件应该用elseif,无条件的话后面不应该有括号;
你要确保所有执行路径输出参数都会被赋值,例如:
if语句必须要有else而不能只有elseif;
switch语句必须有otherwise而不能只有case。
尽管从你的实际数据来说可能不会出现else和otherwise分支的情况,但从程序的要求上来说,必须要保证执行路径的完备,否则不能通过编译。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询