查看: 494|回复: 4|关注: 0

[已解决] matlab在进行for循环或者while循环得到的数据怎样保存到一个矩阵里面?

[复制链接]

新手

10 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
  1. function a_=Tao(x)
  2. a_=[];
  3.     while x<1
  4.         if mod(x,2)==0
  5.             x=x./2;
  6.             a_=append(a_,x);
  7.         else
  8.             x=3.*x+1;
  9.             a_=append(a_,x);
  10.         end
  11.     end
  12. end
复制代码
我调用我写的这个函数得到的都是空矩阵!

MATLAB 基础讨论
版块优秀回答者

入门

120 麦片

财富积分


50500


0

主题

110

帖子

25

最佳答案
  • 关注者: 2
发表于 2019-9-19 20:04:10 | 显示全部楼层 |此回复为最佳答案
本帖最后由 alvinlau 于 2019-9-19 20:08 编辑

角谷猜想,while循环的条件应该是x>1或者x~=1啊……

function a_=Tao(x)
a_=[];
while x>1
    if mod(x,2)==0
        x=x./2;
    else
        x=3.*x+1;
    end
    a_=[a_,x];
end

论坛优秀回答者

中级

1327 麦片

财富积分


5001500


0

主题

1825

帖子

269

最佳答案
  • 关注者: 50
发表于 2019-9-19 20:09:33 | 显示全部楼层
function a_=Tao(x)
a_=[];
while x<1
if mod(x,2)==0
x=x./2;
a_=[a_,x];
else
x=3.*x+1;
a_=[a_,x];
end
end
end
而且你的输入x应该小于1,才会有数值!!!因为你的条件设置是x<1

新手

10 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
 楼主| 发表于 2019-9-19 22:01:36 | 显示全部楼层
alvinlau 发表于 2019-9-19 20:04
角谷猜想,while循环的条件应该是x>1或者x~=1啊……

function a_=Tao(x)

谢谢老哥,那还有别的添加元素的方法吗?

新手

10 麦片

财富积分


050


3

主题

12

帖子

0

最佳答案
 楼主| 发表于 2019-9-19 22:03:33 | 显示全部楼层
WarnerChang 发表于 2019-9-19 20:09
function a_=Tao(x)
a_=[];
while x

谢谢老哥,我想的是循环直到x<1的样子,马虎了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表