matlab数学实验高手进1由键盘输入一个正整数,偶数则除2,奇数则*3+1,重复知道该数为一2鸡和兔共36只脚数100,求鸡兔个数3计算函数y=|x|+|x-2|的值

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/17 17:00:10

matlab数学实验高手进1由键盘输入一个正整数,偶数则除2,奇数则*3+1,重复知道该数为一2鸡和兔共36只脚数100,求鸡兔个数3计算函数y=|x|+|x-2|的值
matlab数学实验高手进
1由键盘输入一个正整数,偶数则除2,奇数则*3+1,重复知道该数为一
2鸡和兔共36只脚数100,求鸡兔个数
3计算函数y=|x|+|x-2|的值

matlab数学实验高手进1由键盘输入一个正整数,偶数则除2,奇数则*3+1,重复知道该数为一2鸡和兔共36只脚数100,求鸡兔个数3计算函数y=|x|+|x-2|的值
1.不知道你要输出什么,所以只输出最终结果,关键步骤已经写了出来,调用f0()函数就可以,主要用函数的递归
function y=f0(x)
%由键盘输入一个整数,偶数则除以2,奇数则*3+1,直到为1
if x==1
y=1;
elseif mod(x,2)==0
x=x/2;
y=f0(x);
elseif mod(x,2)==1
x=x*3+1;
y=f0(x);
else
X='输入错误';
disp(X);
end
2.我直接用矩阵方程求解,函数f1(x1,x2),x1为头数,x2为脚数
function y=f1(x1,x2)
%x1 is the number of heads and x2 is the number of foots
a=[1 1;2 4];
A=[x1;x2];
y=a\A;
3.一个式子就可以解决问题:
y=abs(x)+abs(x-2)
%abs(x) 就是求绝对值的函数
或者调用这个函数
function y=f2(x)
%y=|x|+|x-2|
y=abs(x)+abs(x-2);
PS:最重要的,学习还要靠自己