
一、实验目的
略
二、实验内容
1、 程序设计如下:
循环结构:
n=input('请输入一个整数n:');
s=0;
for i=1:n
s=s+(1/(2*i-1))*(1/(3^(2*i-1)));
end
s
sum函数:
n=input('请输入一个整数n:');
i=1:n;
s=(1./(2.*i-1)).*(1./(3.^(2.*i-1)));
sum(s)
保留八位有效数字,近似值为0.34657359。同理,n分别取100,1000,1000时,保留八位有效数字,结果都为0.34657359。
2、 程序设计如下:
(1) y=0;
for n=1:10000
y=y+1/(2*n-1);
if(y<3)
continue
end
break
end
n-1
ans =
56
(2) y=0;
for n=1:56
y=y+1/(2*n-1);
end
y
y =
2.994437501289942
3、程序设计如下:
a=input('请输入a:');
b=input('请输入b:');
x0=1.0;
x1=a/(b+x0);
n=1;
while y>10^(-5)&n<=499
x0=x1;
x1=a/(b+x0);
y=abs(x1-x0);
n=n+1;
end
x1
r1=(-b+sqrt(b*b+4*a))/2
r2=(-b-sqrt(b*b+4*a))/2
请输入a:1
请输入b:1
x1 =
0.500000000000000
r1 =
0.618033988749895
r2 =
-1.618033988749895
请输入a:8
请输入b:3
x1 =
2
r1 =
1.701562118716424
r2 =
-4.701562118716424
请输入a:10
请输入b:0.1
x1 =
9.090909090909090
r1 =
3.112672920173694
r2 =
-3.212672920173694
4、程序设计如下:
f1=1;
f2=0;
f3=1;
f=[f1,f2,f3];
for n=4:100
f4=f3-2*f2+f1;
f=[f,f4];
f1=f2;
f2=f3;
f3=f4;
end
x=max(f)
y=min(f)
z=sum(f)
k1=find(f>0);L1=length(k1)
k2=find(f<0);L2=length(k2)
k3=find(f==0);L3=length(k3)
x =
4.377632826350000e+11
y
-8.994121135280000e+11
z =
-7.427456019510000e+11
L1 =
49
L2 =
49
L3 =
2
5、 程序设计如下:
X=1;
Y=5;
for i=3:49
s=i*(i+1)-1;
t=s;
f=isprime(s);
X=[X,f];
if f==1
Y=t+Y;
else
Y=Y;
end
end
X
L=length(find(X==1))
Y
X =
1 至 22 列
1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 0 0 1 1 1 0 0
23 至 44 列
1 0 1 0 1 0 1 1 0 0 0 1 0 0 1 1 0 1 0 0 1 1
45 至 48 列
1 0 1 0
L =
28
Y =
21066





