1.根據,求的近似值。當n分別取100、1000、10000時,記過是多少?
n=100
程式設計:
n=100;
i=1:n;
f=1./i.^2;
x=sum(f);
y=sqrt(6*x)
執行結果:
x =3.1321
n=1000
程式設計:
n=1000;
i=1:n;
f=1./i.^2;
x=sum(f);
y=sqrt(6*x)
執行結果:
x =3.1406
n=10000
程式設計:
n=1000;
i=1:n;
f=1./i.^2;
x=sum(f);
y=sqrt(6*x)
執行結果:
x = 3.1415
2.根據y=1+,求:
(1)y<3時的最大n值。
(2)與(1)的n值對應的y值。
程式設計:
y=1;n=1;
while(y<3)
n=n+2;
y=y+1/n;
endy=y-1/n
n=(n+1)/2
執行結果:
y = 2.9944
n =57
3.考慮以下迭代公式:
其中a、b為正的常數。
(1)編寫程式求迭代的結果,迭代的終止條件為,迭代初值=1.0,迭代次數不超過500次。
程式設計:
x=1.0;
a=2;
b=3;
x=a/(b+x);
n=1;
while(abs(x-(a/x-b))> 10e-5&n<=500)
x=a/(b+x);
n=n+1;
endx
n執行結果:
x = 0.5616
n =6
(2)如果迭代過程收斂於r,那麼r的準確值是,當(a,b)的值取(1,1)、(8,3)、(10,0.1)時,分別對迭代結果的準確值進行比較。
(a,b)取(1,1)
程式設計:
x=1.0;
a=1;
b=1;
x=a/(b+x);
n=1;
while(abs(x-(a/x-b))>10e-5&n<=500)
x=a/(b+x);
n=n+1;
endx
r1=(-b+sqrt(b^2+4*a))/2
r2=(-b-sqrt(b^2+4*a))/2
執行結果:
x = 0.6181
r1 =
0.6180
r2 =
-1.6180
(a,b)取(8,3)
程式設計:
x=1.0;
a=8;
b=3;
x=a/(b+x);
n=1;
while(abs(x-(a/x-b))>10e-5&n<=500)
x=a/(b+x);
n=n+1;
endx
r1=(-b+sqrt(b^2+4*a))/2
r2=(-b-sqrt(b^2+4*a))/2
執行結果:
x = 1.7016
r1 =
1.7016
r2 =
-4.7016
(a,b)取(10,0.1
程式設計:
x=1.0;
a=10;
b=0.1;
x=a/(b+x);
n=1;
while(abs(x-(a/x-b))>10e-5&n<=500)
x=a/(b+x);
n=n+1;
endx
r1=(-b+sqrt(b^2+4*a))/2
r2=(-b-sqrt(b^2+4*a))/2
執行結果:
x = 3.1127
r1 =
3.1127
r2 =
-3.2127
4.已知
求中:(1)最大值、最小值、各數之和。
程式設計:
f(1)=1;
f(2)=0;
f(3)=1;
n=100;
max=f(3);
min=f(2);
sum=2;
for i=4:n
f(i)=f(i-1)-2*f(i-2)+f(i-3);
if f(i)>max
max=f(i);
elseif f(i) min=f(i);
endsum=sum+f(i);
endsum
maxmin
執行結果:
sum =
-7.4275e+011
max =
4.3776e+011
min =
-8.9941e+011(2)正數、零、負數的個數。
程式設計:
f(1)=1;
f(2)=0;
f(3)=1;
n=100;
pn=2;
nn=0;
zn=1;
for i=4:n
f(i)=f(i-1)-2*f(i-2)+f(i-3);
if f(i)>0
pn=pn+1;
elseif f(i)==0
zn=zn+1;
else
nn=nn+1;
endenddisp('正數的個數:'),pn
disp('負數的個數:'),nn
disp('零的個數:'),zn
執行結果:
正數的個數:
pn =
49負數的個數:
nn =
49零的個數:
zn =
25.若兩個連續自然數的乘積減1是素數,則稱這兩個連續自然數是親密數對,該素數是親密素數。例如,23-1=5,由於5是素數,所以2和3是親密數對,5是親密素數。
求[2,50]區間內:
(1)親密數對的對數。
(2)與上述親密數對對應的所有親密素數之和。
程式設計:
sum=0;
n=0;
for i=2:49
m(i)=i*(i+1)-1;
for j=2:sqrt(m(i))
if rem(m(i),j)==0&m(i)~=j
m(i)=0;
endendif m(i)~=0
n=n+1;
endsum=sum+m(i);
end disp('親密數對的對數:'),n
disp('親密素數之和:'),sum
執行結果:
親密數對的對數:
n = 28
親密素數之和:
sum =
21066
MATLAB實驗四迴圈結構程式設計
matlab實驗報告 學院 光電學院 班級 073 1 姓名 劉穎 學號 200713503117 實驗四迴圈結構程式設計 1.根據,求的近似值。當n分別取100 1000 10000時,記過是多少?n 100 程式設計 n 100 i 1 n f 1.i.2 x sum f y sqrt 6 x ...
實驗迴圈結構程式設計
一 實驗目的 1 熟練掌握三種迴圈語句的應用。2.掌握break和continue語句的使用。3.熟練掌握迴圈結構的巢狀。4.掌握迴圈結構程式設計常用的演算法 例如一組資料求和 求平均值 求最大值最小值,判斷素數等。二 實驗內容 1 編寫乙個程式,其功能為 計算並輸出1 10的平方值。include...
實驗三迴圈結構程式設計
一 實驗目的與要求 1 熟練掌握三種迴圈語句的應用。2 熟練掌握迴圈結構的巢狀。二 實驗內容 1 階乘問題 1 輸入n,求n的階乘n n 1 2 n 2 輸入n,求n的階乘和 1!2!n 2 水仙花數問題 1 輸出水仙花數及個數。2 輸入三位數m,n,輸出m n之間的水仙花數及個數,輸出的水仙花數要...