coolhpas 发表于 2007-6-7 11:52

多输入多输出报错

自己写了一个三输入四输出的函数,在command window下调用,为什么会报这个错误?如何解决?

=normalback(60,40,3)
??? One or more output arguments not assigned during call to 'C:\MATLAB7\work\hpas\normalback.m (normalback)'.

以下是源程序
function =normalback(temp,triptime,step)
dis1=26;dis2=38;dis3=74;dis4=28;dis5=16;
dis=dis1+dis2+dis3+dis4+dis5;
r_width=8;bus_height=2;bus_width=4;
ax=30;ay=55;    bx=ax+30-r_width;by=ay-40;    cx=bx+r_width;cy=by;
dx=bx+90-r_width;dy=by+r_width;   ex=dx;ey=dy+30-r_width;
speed=dis/triptime;
if temp<=(dis5/dis)*triptime
   x=ex+dis5-speed*step;
   y=ey+6;
   width=4;height=2;
elseif temp<=((dis4+dis5)/dis)*triptime
    x=dx;
    y=(ey+4)-speed*step;
    width=2;height=4;
elseif temp<=((dis3+dis4+dis5)/dis)*triptime
    x=dx-2-speed*step;
    y=dy-bus_height;
    width=4;height=2;
elseif temp<=((dis5+dis2+dis3+dis4)/dis)*triptime
    x=cx-bus_height;
    y=cy+r_width-2-speed*step;
    width=2;height=4;
elseif temp<=triptime
    x=cx-bus_width-speed*step;
    y=ay+6;
    width=4;height=2;
end

eight 发表于 2007-6-7 11:56

原帖由 coolhpas 于 2007-6-7 11:52 发表 http://www.chinavib.com/forum/images/common/back.gif
自己写了一个三输入四输出的函数,在command window下调用,为什么会报这个错误?如何解决?

=normalback(60,40,3)
??? One or more output arguments not assigned during call to 'C:\ ...

请保证每个返回处都对返回值赋了值。就你贴的代码来看,似乎应该满足这个要求,估计还有部分代码没有给出,自己仔细检查一下

[ 本帖最后由 eight 于 2007-6-7 12:24 编辑 ]

yangzj 发表于 2007-6-7 12:03

返回的参数都是在if语句里赋的值,应该检查一下所列的条件是否总有一个是成立的,否则都不成立的话,就相当于没给返回值赋值了
页: [1]
查看完整版本: 多输入多输出报错