| 查看: 1018 | 回复: 1 | |||
[交流]
【求助】递归循环怎么实现?【已解决】 已有1人参与
|
|
想实现输出所有由1-3为元素构成的4维行向量。 我的程序如下: A=cell(1,4); for i=1 :4 A{1,i}=0; end global B; B=cell2mat(A); global p; p=3; global k; k=0; m=0; m=f(B,p,k); function m=f(B,p,k) k=k+1; for i=1: 3 if (k<3) m=f(B,p,k); end A(1,k)=i; disp(A); end k=k-2; 运行结果: 0 0 1 0 0 1 2 0 0 1 2 3 5 ??? One or more output arguments not assigned during call to 'D:\matlab\work\f.m (f)'. Error in ==> f at 6 m=f(B,p,k); Error in ==> f at 6 m=f(B,p,k); 于是乎我很崩溃。 请问各位,该怎样修改? [ Last edited by nono2009 on 2010-7-13 at 16:19 ] |
» 猜你喜欢
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有5人回复
今年春晚有几个节目很不错,点赞!
已经有9人回复
情人节自我反思:在爱情中有过遗憾吗?
已经有10人回复
基金正文30页指的是报告正文还是整个申请书
已经有5人回复
过年走亲戚时感受到了所开私家车的鄙视链
已经有5人回复
知道原因了
★
nono2009(金币+1):谢谢分享经验。 2010-07-13 16:19:32
nono2009(金币+1):谢谢分享经验。 2010-07-13 16:19:32
|
少了个参数m,具体程序如下,有需要的可以看看。 A=cell(1,4); for i=1 :4 A{1,i}=0; end global B; B=cell2mat(A); global p; p=3; global k; k=0; global m; m=0; m=f(B,p,k,m,u); function m=f(B,p,k,m,u) k=k+1; for i=1: 3 B(1,k)=i; if (k<4) m=f(B,p,k,m,u); else disp(B); end if (i==3) k=k-1; end end |
2楼2010-07-13 00:56:41













回复此楼