目录
一、
二、
三、
四、
五、
一、
已知
求y的近似值。当n分别取100、1 000、10 000时,结果是多少?
要求:分别用循环结构和向量运算(使用sum 函数)来实现。
---------------------------------------示例代码---------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12%循环结构: y=0; n=input('n='); for i=1:n y=y+(1/(2*i-1))*(1/(3.^(2*i-1))); end y %向量运算: n=input('n='); i=(1./(2.*(1:n)-1)).*(1./(3.^(2.*(1:n)-1))); s=sum(i); s
---------------------------------------运行结果---------------------------------------------
二、
(1).y<3时的最大n值。
(2)与(1)的n值对应的y值。
---------------------------------------示例代码---------------------------------------------
1
2
3
4
5
6
7
8y=0; n=1; while y<3 y=y+1/(2*n-1); n=n+1; end y=y-1/(2*(n-1)-1) n=n-2
---------------------------------------运行结果---------------------------------------------
三、
考虑以下迭代公式:其中a、b为正的常数。
(1)编写程序求迭代的结果,迭代的终止条件为,迭代初值x0=1.0,迭代次数不超过500次。
(2)如果1迭代过程收敛于r,那么r的准确值是,当(a, b)的值取(1,1)、(8,3)、(10, 0.1)时,分别对迭代结果和准确值进行比较。
---------------------------------------示例代码---------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17a=input('a=?'); b=input('b=?'); Xn=1; Xn1=a/(b+Xn); n=0; while abs(Xn1-Xn)<=1e-5 Xn=Xn1; Xn1=a/(b+Xn); n=n+1; if n==500 break; end end n Xn1 r1=(-b+sqrt(b*b+4*a))/2 r2=(-b-sqrt(b*b+4*a))/2
---------------------------------------运行结果---------------------------------------------
四、
求f1~f100中:
(1)最大值、最小值、各数之和。
(2)正数、零、负数的个数。
---------------------------------------示例代码---------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17f1=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 maxs=max(f) mins=min(f) sums=sum(f) posnumber=length(find(f>0)) negnumber=length(find(f<0)) zernumber=length(find(f==0))
---------------------------------------运行结果---------------------------------------------
五、
若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。求[2, 50]区间内:
(1)亲密数对的对数。
(2)与上述亲密数对对应的所有亲密素数之和。
---------------------------------------示例代码---------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16s=0;n=0; for i=2:49 b=i*(i+1)-1; m=fix(sqrt(b)); for j=2:m if rem(b,j)==0 break end end if j==m n=n+1; s=s+b; end end n s
---------------------------------------运行结果---------------------------------------------
如有侵权,请速与我联系!!!
最后
以上就是多情超短裙最近收集整理的关于5、MATLAB程序设计与应用刘卫国(第三版)课后实验五:循环结构程序设计的全部内容,更多相关5、MATLAB程序设计与应用刘卫国(第三版)课后实验五内容请搜索靠谱客的其他文章。
发表评论 取消回复