MATLAB教程课后实验报告题目及解答第一至第五章(5)

2019-04-01 23:24

if n>499 break end end

disp(['迭代结果是:',num2str(x)]) disp(['循环次数是',num2str(n),'次']) r1=(-b+sqrt(b^2+4*a))/2; r2=(-b-sqrt(b^2+4*a))/2;

disp(['如果迭代收敛,准确值是:',num2str(r1),' 或者是:',num2str(r2)]) 4、for n=1:4 if n==1 f1=1; elseif n==2 f2=0; elseif n==3 f3=1; else

a=f3-2*f2+f1; b=a-2*f3+f2; c=b-2*a+f3; d=c-2*b+a;

H=[1,0,1,a,b,c,d]; for m=8:4:99 a=d-2*c+b; b=a-2*d+c; c=b-2*a+d; d=c-2*b+a; H=[H,a,b,c,d]; end

f100=d-2*c+b; end end

max=max(H); min=min(H); sum=sum(H);

disp(['最大值是:',num2str(max)]) disp(['最小值是:',num2str(min)]) disp(['各数和是:',num2str(sum)]) k=0; l=0; p=0; for e=H if e>0

k=k+1;

elseif e<0 l=l+1; else

p=p+1; end end

disp(['正数的个数是:',num2str(k)]) disp(['负数的个数是:',num2str(l)]) disp(['零的个数是: ',num2str(p)]) 5、p=0; l=0; H=[];

for m=2:50 a=m; b=m+1; c=a*b-1; for k=1:c

if rem(c,k)==0 l=l+1; end end if l==2

disp(['亲密数对是','(',num2str(a),' ,',num2str(b),')']) p=p+1; H=[H,c]; end l=0; end

sum=sum(H);

disp(['亲密数对的个数是:',num2str(p)]) disp(['亲密数对的和是: ',num2str(sum)])

=================================================================================== 教师的解答:

实验三 选择结构程序设计的m文件

以下程序仅供参考,请同学们自己编写该题的程序。 1、fdhs.m

x=input('请输入x的值:'); if x<0&x~=-3 y=x*x+x-6;

elseif x>=0&x<5&x~=2&x~=3 y=x*x-5*x+6; else

y=x*x-x-1; end

y

2、用if语句cj1.m

x=input('please import results:'); if x<0|x>100

disp('Error: wrong data'); elseif x<=100&x>=90 assess='A' elseif x<=89&x>=80 assess='B' elseif x<=79&x>=70 assess='C' elseif x<=69&x>=60 assess='D' else assess='E' end

用switch语句cj2.m

x=input('please import results:'); switch floor(x/10) case {9,10} assess='A'; case {8}

assess='B'; case {7}

assess='C'; case {6}

assess='D';

case {0,1,2,3,4,5} assess='E'; otherwise

assess='Error:wrong data'; end assess 3、gz.m

number=input('please import the number:'); y=input('please import the time:'); if y>=120

pay=84.*(y-120)*1.15+120*84; elseif y<60

pay=84*y-700; else pay=84*y;

end number pay

4、szys.m

a=fix(rand(1)*89)+10; disp(['a=',num2str(a)]) b=fix(rand(1)*89)+10; disp(['b=',num2str(b)])

x=input('请输入一个四则运算符号','s'); if abs(x)==43 c=a+b;

elseif abs(x)==45 c=a-b;

elseif abs(x)==42 c=a*b;

elseif abs(x)==47 c=a/b;

else c='Error'; end c

5、jzys.m a=rand(5,6)

n=input('请输入行数:'); try

b=a(n,:); catch

b=a(5,:); end b

lasterr

实验四 循环结构程序设计

1、循环方法的m文件pi1.m n=input('请输入n:'); y=0;

for i=1:n

y=y+1/i^2; end

PI=sqrt(6*y)

向量方法的m文件pi2.m n=input('请输入n:'); i=1:n; f=1./i.^2;

y=sum(f); PI=sqrt(6*y)

2、maxn.m y=0;n=0; while y<3 n=n+1;

y=y+1/(2*n-1); end n=n-1

y=y-1/(2*n-1) 3、dd.m

a=input('请输入a:'); b=input('请输入b:');

r1=(-b-sqrt(b^2+4*a))/2;r2=(-b+sqrt(b^2+4*a))/2; x0=1.0;x=1.0; for n=1:500 x0=x;

x=a/(b+x0);

if abs(x-x0)<=1e-5 break end end x

e1=x-r1 e1=x-r2 4、f100.m

f=zeros(1,100);

f(1)=1;f(2)=0;f(3)=1; p=2;n=0;z=1;

sum=2;max=1;min=0; for i=4:100

f(i)=f(i-1)-2*f(i-2)+f(i-3); sum=sum+f(i); if f(i)>0 p=p+1; elseif f(i)<0 n=n+1; else

z=z+1; end

if f(i)>max max=f(i); elseif f(i)


MATLAB教程课后实验报告题目及解答第一至第五章(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018全国各地高考物理模拟试题《动量守恒定律》试题汇编(含答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: