实验三(2)、MATLAB程序设计
一、 实验目的
1、 掌握建立和执行M文件的方法
2、 掌握利用for语句和while语句实现选择结构的方法
二、 实验内容及步骤
1、 分别使用for循环语句和while循环语句找出最小的n值,使得n!>10100,并求出n!。要求显示的结果为
n=70
n!=+100>1e100
或
70!=+100>1e100
用IF语句执行如下:
s=1;
for n=1:100
s=s*n;
if(s>10^100)
break;
end
end
str1=['n=',num2str(n)];
str2=['n!=',num2str(s)];
disp(str1)
disp(str2)
用WHILE语句执行如下:
n=1;
s=1;
while(s<=10^100)
s=s*n;
n=n+1;
end
str1=['n=',num2str(n-1)];
str2=['n!=',num2str(s)];
disp(str1)
disp(str2)
2、 已知 f1=1,n=1
f2=0,n=2
f3=1,n=3
fn=fn-1-2fn-2+fn-3,n>3
求f1 ~ f50中:
1)最大值和最小值及它们的位置,各数之和(最大值给变量MAX,其位置给变量x,最小值给变量MIN,其位置给变量y,各数之和给变量SUM)。
2)正数、零、负数的个数(依次赋值给变量positive,zero,negative)。
clear;
f(1)=1;
f(2)=0;
f(3)=1;
for n=4:50
f(n)=f(n-1)-2*f(n-2)+f(n-3);
end
[MAX,x]=max(f) %注意不要分号,要执行的语句
[MIN,y]=min(f)
SUM=sum(f)
positive=length(find(f>0))
zero=length(find(f==0))
negative=length(find(f<0))
MAX =
406631
x =
49
MIN =
-403795
y =
50
SUM =
76861
positive =
25
zero =
2
negative =
23
3、 Fibonacci数组的元素满足Fibonacci规则:
ak+2=ak+ak+1,(k=1,2,3,…);且a1= a2=1。
请设计一段程序,求出该数组中第一个大于10000的元素
要求显示的结果为:
i=21
a(i)=10946
或者
a(21)=10946
a(1)=1;
a(2)=1;
for k=1:10000 %不能是3:10000
a(k+2)=a(k)+a(k+1);
if a(k)>10000
break;
end
end
disp(['k=',num2str(k)])
disp(['a(k)=',num2str(a(k))])
本文来源:https://www.2haoxitong.net/k/doc/027b8a28ca50ad02de80d4d8d15abe23492f036d.html
文档为doc格式