查看单个帖子
旧 2008-07-14, 10:48   #2
remnant
普通会员
 
注册日期: 2008-04-12
年龄: 46
帖子: 67
声望力: 19
remnant 正向着好的方向发展
默认

进入到sdir2cas的a,b都是double类型的数,而非数组
Na=length(a)-1;Nb=length(b)-1;
那么Na=0,Nb=0;
而K=floor( Na/2 ),说明K=0,
那下面求A的if控制流必然走入
a=zeros(K,3);
for n=1:2:Na
Arow=p(n:1:n+1,;Arow=poly(Arow);
A(fix((n+1)/2),=real(Arow);
end
这里我不明白你为什么定义了个a=zeros(K,3),由于K=0, a必然为empty,而且这个a在后面根本没有用到过,猜想也许是A.
你的for n=1:2:Na由于Na=0该循环一次也不会执行,A必然为Empty,不会有值.
下面求B的过程,由于Nb=0,首先你的if ... elseif ... else ... end
根本就不是互斥的分支语句.控制流会按照优先级来走,只会走入
if Nb==0这一分支,所以,B也是有问题的.
因此,你的Error信息提示在sdir2cas中有1个或更多输出参数未被赋值,这里指的就是A了.
你的B得到了个值算是个运行异常,能出结果但不一定正确.
remnant 当前离线   回复时引用此帖