作业帮 > 综合 > 作业

matlab 生成数组

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 23:59:32
matlab 生成数组
输入一个正整数n,n作为初始数据,反复计算,知道1 为止
如果n为偶数,则这一位上为n/2
如果n为奇数,则这一位上为3*n+1
例如 :n =17,生成一个数列
52→26→13→40→20→10→5→16→8→4→2→1
写一个function 让这个function返回这个数列的长度,数列必须停止在1.
编写函数:function len = len_series(n)
A = n;
while abs(n-1) > eps
    if ~rem(n,2)
        n = n/2;
    else
        n = n*3+1;
    end
    A(end+1) = n;
end
fprintf('%i',A(1));
fprintf('→%i',A(2:end));
len = length(A);调用>> len_series(17) 
17→52→26→13→40→20→10→5→16→8→4→2→1
ans =
    13