急急急急急急急急急!!!!谁用MATLAB帮我写几道题目。。。谢了

2025-02-23 18:00:45
推荐回答(1个)
回答1:

1.做法一用循环语句
把20个数组成数组A,执行下面的程序,可以直接得到最大和最小值。
A=[1 2 3 4 5 6 7 23 32 12 53 1 23 53 5 235 31 5131 332 3 21];
max=A(1);
min=A(1);
for i=1:20;
mid=A(i);
if mid>max;
max=mid;
end
if mid min=mid;
end
end
max
min

(2)max函数的编写如下:
funtion f=max(A)
f=A(1);
for i=1:20;
mid=A(i);
if mid>f;
f=mid;
end
end
end
min函数的编写如下:
funtion f=min(A)
f=A(1);
for i=1:20;
mid=A(i);
if midf=mid;
end
end
end
分别保存为max.m和min.m
在命令窗口,先定义20个数组成的数组A
然后调用max(A), min(A)即可。

做法2: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=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个数