1. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:02:09
1. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。
2. 求Fibonacci数列
(1)大于4000的最小项。
(2)5000之内的项数。
3. 写出下列程序的输出结果:
s=0;
a=[12,13,14;15,16,17;18,19,20;21,22,23];
for k=a
for j=1:4
if rem(k(j),2)~=0
s=s+k(j);
end
end
end
s
4:有一数列:11+12+13+…+110 +21+22+23+...+210+31+32+…310 ,求这些项的总和。
5:鸡兔同笼问题是典型的应用问题,先试用循环与判断语句求解。设鸡兔共36只,脚数共100只,问鸡兔各几只?
6:一球从100米高度自由落下,每次落地后反跳回原高度的一半,在落下,求它在第10次落地时,共经过多少米?第十次反弹多高?

1.
a=rand(1,20);
max1=max(a) %用max函数求最大值
min1=min(a) %用max函数求最大值
%以下用循环方法求解:
max2=a(1);
min2=a(1);
for i=2:20
if a(i)>max2
max2=a(i);
end
if a(i)<min2
min2=a(i);
end
end
max2
min2

2.(1)
function t=fibonacc1
f=[1,1];
n=2;
while 1
f=[f,f(n-1)+f(n)];
n=length(f);
if f(n)>4000
break;
end
end
t=f(n);
return
我执行的结果是4181,应该没错的
(2)
function n=fibonacc2
f=[1,1];
n=2;
while 1
f=[f,f(n-1)+f(n)];
n=length(f);
if f(n)>4000
break;
end
end
n=n-1;
return
我执行结果是18个,即5000内有18个数
3.
本程序实现的是(15+21)*4
结果为108
两个for循环,第一个for循换是循环次数,为矩阵行数,即循环4次
第二个for循环实现的是对矩阵k每一行第一列元素看其是否为奇数,如果为奇数,将其累加到s,第一列只有15和21为奇数
综上,计算过程为(15+21)*4

4.
>> sum(11:110)+sum(21:210)+sum(31:310)