matlab数学实验复习题有答案.docx

上传人:b****5 文档编号:7537818 上传时间:2023-01-24 格式:DOCX 页数:18 大小:194.78KB
下载 相关 举报
matlab数学实验复习题有答案.docx_第1页
第1页 / 共18页
matlab数学实验复习题有答案.docx_第2页
第2页 / 共18页
matlab数学实验复习题有答案.docx_第3页
第3页 / 共18页
matlab数学实验复习题有答案.docx_第4页
第4页 / 共18页
matlab数学实验复习题有答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

matlab数学实验复习题有答案.docx

《matlab数学实验复习题有答案.docx》由会员分享,可在线阅读,更多相关《matlab数学实验复习题有答案.docx(18页珍藏版)》请在冰豆网上搜索。

matlab数学实验复习题有答案.docx

matlab数学实验复习题有答案

matlab数学实验复习题(有答案)

复习题

1、写出3个常用的绘图函数命令:

plot、ezplot、fplot

2、inv(A)表示A的逆矩阵;

3、在命令窗口健入clc,作用是清除工作间管理窗口的所有内容

4、在命令窗口健入clear,作用:

清除内存中所有变量

5、在命令窗口健入figure,作用是打开一个新的图形;

6、x=-1:

0.2:

1表示在区间[-1,1]内以0.2为步长等距取值

7、det(A)表示计算A的行列式的值;

8、三种插值方法:

拉格朗日多项式插值,分段线性插值,三次样条插值。

9、若A=

,则fliplr(A)=

A-3=

A.^2=

tril(A)=

triu(A,-1)=

diag(A)=

A(:

2),=

A(3,:

)=

10、normcdf(1,1,2)=0.5%正态分布mu=1,sigma=2,x=1处的概率

11、unifpdf([5,7],2,6)=【0.25;0】

11、命令formatshort的作用保留小数点后四位而formatlong:

保留小数点后14位

12、formatrat的作用是最接近的有理数

12、interp1(x0,y0,x)的作用是求以x0,y0为节点数组,x为插值点数组的分段线性插值

13、13、[a,b,c,d]=fzero(@fun,x0)中参数的涵义是a是变号点的近似值,b是对应,的函数值,c是停止运行的原因(c=1即为找到该点,c=0就是没有找到)d是一个结构变量,@fun是求解方程的函数M文件,x0是零点或变号点附近的值。

14、龙格-库塔方法可用如下MATLAB命令求解微分方程[t,x]=ode45(@f,[a,b],x0),中参数的涵义是@fun是求解方程的函数M文件,[a,b]是输入向量即自变量的范围a为初值,x0为函数的初值,t为输出指定的[a,b],x为函数值

15、写出下列命令的功能:

axisequal纵、横坐标轴采用等长刻度

text(1,2,‘y=sin(x)’)在x=1,y=2处加上字符串y=sin(x);holdon把新的plot产生的图形画在原来的图形上。

title(‘y=sin(x)’)在图形正上方加上字符串y=sin(x)

16、Matlab中自定义函数M文件的第一行必须以function开头;

10、

11、>>norm([1,2,3])

Ans=3.741657386773941

11、>>length([1,3,-1])=3

12、>>x=0:

0.4:

2;plot(x,2*x,’k*’)

13、>>zeros(3,1);

ans=

0

0

0

14、>>ones(3)=

,vander([2,3,5])=

16、>>floor(1:

0.3:

3)=

1111222

18、>>subplot(2,2,1);fplot('sin',[0,2*pi]);subplot(2,2,2);plot([1,2,-1]);

>>x=linspace(0,6*pi);subplot(2,2,3);plot3(cos(x),sin(x),x);

>>subplot(2,2,4);polar(x,5*sin(4*x/3));

19、>>t=linespace(0,2,11)

0.00.20.40.60.81.01.21.41.61.82.0

20、>>[a,b]=binostat(15,0.2)a=3b=2.4

>>y1=binopdf(5,10,0.7)=0.1029,y2=binocdf(5,10,0.7)=0.1503

21、>>log10([1,10,100])=[012]

22、>>p=1;fork=2:

3:

9p=p*k;end;pp=80

23、>>s=0;fork=2:

3:

9s=s+k;end;ss=15

24、

Ans=3.8647

25、>>a1=norminv(0.6,3,4)a1=4.0134

26、>>unifinv(0.4,1,5),unifpdf(0.4,1,5),unifpdf(2,1,5)

Ans=2.600.25

27、>>A=[01-1;210;1-11];

01-1

1-11

>>A([1,3],:

1-11

01-1

A([3,1],:

)=1-11

01-1

>>A(2,:

)=210

>>-2*A(1,:

)=0-22

28、>>quad(‘sin(x)’,0,pi/2)=1.0000

29、>>trapz([3,4,6],[1,2,3])=6.5000

30、>>int('x-sin(x)',0,1)

Ans=

cos

(1)-1/2

31、>>round(3:

0.4:

5),ceil(3:

0.4:

5);floor(3:

0.4:

5)

334455

333445

>>limit(1+1/(3*x)^x,inf)=1

>>diff(sin(3*x)+x^3,2)=6*x-9*sin(3*x)

>>taylor(exp(3*x),5,1):

命令输入:

y=taylor(exp(3*x),x,1,'Order',5)

Ans=

exp(3)+3*exp(3)*(x-1)+(9*exp(3)*(x-1)^2)/2+(9*exp(3)*(x-1)^3)/2+(27*exp(3)*(x-1)^4)/8

>>a1=mod(15,4),b1=rem(15,4)=3,3

>>a2=mod(-15,-4),b2=rem(-15,-4)=-3,-3

>>a3=mod(15,-4),b3=rem(15,-4)=-1,-3

>>a4=mod(-15,4),b4=rem(-15,4)=1,-3

34、>>x=binornd(20,0.4,2,4)

87108

107912

>>sign(x),

1111

1111

>>y=-poissrnd(8,2,4)

-16-108-7

-7-8-6-9

>>sign(y)

-1-1-1-1

-1-1-1-1

35、>>[a1,b1]=binostat(20,0.4)a1=8b1=4.8

>>[a2,b2]=poisstat(8)ans=8,8

>>[a3,b3]=chi2stat(15)ans=[1530]

36、运行M文件:

chi2fig

n=5;a=0.9;

xa=chi2inv(a,n);

x=0:

0.1:

15;y=chi2pdf(x,n);

plot(x,y,'b');holdon;

xf=0:

0.1:

xa;yf=chi2pdf(xf,n);

fill([xf,xa],[yf,0],'g');

text(xa*1.01,0.005,num2str(xa));

text(2.5,0.05,'alpha=0.9','fontsize',20);

text(9,0.09,'X~{\chi}^2(4)','fontsize',16);

37、>>t=linspace(0,2*pi);

>>polar(t,3*t,’g*’)

38、>>quadl(’exp(2*x).*log(3*x)’,1,3)

ans=

398.6352

39、x0=0:

2*pi/6:

2*pi;y0=sin(x0).*cos(x0);

x=[linspace(0,2*pi,100)];y=sin(x).*cos(x);y1=spline(x0,y0,x);

[x;y;y1]'

plot(x,y,'k',x,y1,'b-')

注:

此处省略100组数据

40、>>A=round(unifrnd(0,100,3,3));

>>[L,U]=lu(A)

L=

0.98970.46991.0000

0.16491.00000

1.000000

 

U=

97.000080.000092.0000

035.804126.8247

00-89.6568

41、a=sparse([133],[235],[123],4,5);s=full(a)

s=

01000

00000

00203

00000

三、编程

1、分别用矩形公式、梯形公式、辛普森公式、Gauss-Lobatto公式及随机模拟方法计算数值积分

,并与符号运算计算的结果进行比较。

formatlong

x=0:

0.01:

pi/2;

y=exp(3*x).*sin(2*x);

s1=sum(y)*0.01;

s2=trapz(x,y);

s3=quad('exp(3*x).*sin(2*x)',0,pi/2);

s4=quadl('exp(3*x).*sin(2*x)',0,pi/2);

n=10000;

x=unifrnd(0,pi/2,1,n);

y=unifrnd(0,exp(5.5),1,n);

k=0;

fori=1:

n

ify(i)<=exp(3*x(i)).*sin(2*x(i))

k=k+1;

end

end

s5=k/n*pi/2*exp(5.5);

symsx

s=int(exp(3*x).*sin(2*x),0,pi/2);

s6=double(s);

[s1,s2,s3,s4,s5,s6]

输出结果:

ans=

Columns1through3

17.27860904827786817.27772471054609217.279658142557587

Columns4through6

17.27965822921708717.21938124018484117.279658229208650

2、用雅可比迭代求解线性方程组

,其中

随机取。

要求使用函数型M文件,并有对其迭代格式的收敛性进行判断的功能。

雅可比迭代M文件;

function[x,m]=yakebi(A,b,x0,tol,n)

D=diag(diag(A));

L=-tril(A,-1);U=-triu(A,1);

B=D\(L+U);f=D\b;

x=x0;

ifmax(abs(eig(B)))>=1

disp('迭代不收敛')

end

fork=1:

n

x=B*x+f;

x;

ifnorm(A*x-b)

break

end

end

m=k;

高斯-赛德尔迭代M文件;

function[x,m]=ga(A,b,x0,tol,n)

D=diag(diag(A));

L=-tril(A,-1);U=-triu(A,1);

B=(D-L)\U;f=(D-L)\b;

x=x0;

ifmax(abs(eig(B)))>=1

disp('迭代不收敛')

end

fork=1:

n

x=B*x+f;

x;

ifnorm(A*x-b)

break

end

end

m=k;

3、用欧拉方法和龙格库塔方法求下列微分方程初值问题的数值解:

向前欧拉M文件:

functionz=foeula(f,a,b,y0,h)

m=floor((b-a)/h);

x

(1)=a;y

(1)=y0;

forn=1:

m

x(n+1)=x

(1)+n*h;

y(n+1)=y(n)+h*feval(f,x(n),y(n));

end

z=y';

改进欧拉M文件:

functionz=adveula(f,a,b,y0,h);

x=a:

h:

b;m=floor((b-a)/h);

y

(1)=y0;

forn=1:

m

k1=feval(f,x(n),y(n));

k2=feval(f,x(n+1),y(n)+h*k1);

y(n+1)=y(n)+h*(k1+k2)/2;

end

z=y';

函数调用M文件:

functiondy=ode121(x,y)

dy=x^2+y^2;

Return

z1=foeula('ode121',0,1,1,0.1)

z2=adeveula('ode121',0,1,1,0.1)

[x,y]=ode45('ode121',[0:

0.1:

1],1)

或者用直接用“inline”符号函数

z1=foeula(inline('x^2+y^2'),0,1,1,0.1)

z2=adeveula(inline('x^2+y^2'),0,1,1,0.1)

[x,y]=ode45(inline('x^2+y^2'),[0:

0.1:

1],1)

 

4、用牛顿切线法求

的根,要求相对误差不超过

,并输出解和迭代次数。

function[x,m]=newton(f,df,x0,n,tol)

x

(1)=x0;

fork=1:

n

x(k+1)=x(k)-feval(f,x(k))/feval(df,x(k));

ifabs((x(k+1)-x(k))/x(k))<=tol

break;

end

end

x=x';m=k;

return

>>[x,m]=newton(inline('x^2-exp(-x)'),inline('2*x+exp(-x)'),0.6,10,1e-6)

输出:

x=

0.600000000000000

0.707965679205874

0.703475408900439

0.703467422523631

0.703467422498392

 

m=

4

5、用

在(-1,1)上产生10个等距节点,然后用三次样条插值方法计算m个插值点的函数值(m要适中,如50~100),并绘出图形。

x0=-1:

0.2:

1;

y0=sin(x0)+sqrt(9+x0.^3);

x=-1:

0.02:

1;

y=sin(x)+sqrt(9+x.^3);

y1=spline(x0,y0,x);

[x;y;y1]'

plot(x,y,x,y1,'r*')

输出数据太长:

6、绘制标准正态分布在[-4,4]上的密度和分布函数图形(用normpdf,normcdf),要求两条曲线用不同颜色绘制。

x=-4:

0.01:

4;

y1=normpdf(x,0,1);

y2=normcdf(x,0,1);

plot(x,y1,'m+',x,y2,'r+')

7、求二阶微分方程

的数值解

函数调用M文件

functiondy=ode1(x,y)

dy=[y

(2);2*x*y

(2)/(1+x^2)];

return

 

命令输入:

[x,y]=ode45('ode1',[0:

0.02:

1],[1;0])

输出结果太长:

8、小张夫妇欲贷款50万元买房,他咨询了两家银行,第一家银行开出的条件是每月还4500元,15年还清;第二家银行开出的条件是每年还45000元,20年还清,从利率方面看哪家银行较优惠(简单地假设年利率=月利率×12)。

(1)数学建模:

设:

每月的月利率为r

第一个月:

实际还了

第二个月:

实际还了

第n个月:

实际还了

得出方程式:

化简得:

同理可列出方案2的方程式:

解出第一种方案得利率r

12

两种方案的利率小的比较优惠。

编程:

fplot('500*r*(1+r).^180-4.5*((1+r).^180-1)',[0.005,0.008])

gridon

>>fplot('50*r*(1+r).^20-4.5*((1+r).^20-1)',[0.05,0.07])

>>gridon

x1=fzero(inline('500*r*(1+r).^180-4.5*((1+r).^180-1)'),[0.0055,0.006])

r1=x1*12

r2=fzero(inline('50*r*(1+r).^20-4.5*((1+r).^20-1)'),[0.063,0.065])

[r1,r2]

Ans=

0.07020.0639

第一方案年利率r1=0.0702,第二方案年利率r2=0.0639,故第二种方式较优惠。

9、一老人60岁时将养老金10万元存入基金会,月利率0.4%,他每月取1000元作为生活费,建立差分方程计算他每岁末尚有多少钱?

多少岁时将基金用完?

如果想用到80岁,问60岁时应存入多少钱?

一、数学建模

设第k个月末老人拥有养老金ak元,则

其中r为月利率,于是所求的差分方程为:

若基金想用到80岁,即基金每月末取1000元,取20年,以现在作为计算钱的时间点,则60岁时应存入钱为

clear;formatbank;

a0=100000;r=0.004;a=1+r;

a

(1)=(1+r)*a0-1000;k=1;

whilea(k)>0

a(k+1)=(1+r)*a(k)-1000;

k=k+1;

end

plot(a);grid;

n=fix(k/12);m=mod(k,12);a=a';

disp(‘每岁末养老金的余额为:

');[(1:

n)',a(12:

12:

n*12)]

disp(‘老人养老金用完时的年龄为:

’);time=[num2str(n+60),‘岁’,num2str(m),‘¸’月']

B=0;p=1000;

fori=1:

240

p=p/(1+r);B=B+p;

end

disp(‘若老人养老金想用到80岁,每月取1000元,则60岁时应存入银行的钱为:

‘);money=[num2str(B),’元']

在命令窗口键入文件名,计算机运行结果为:

>>ex2xt2

每岁末养老金余额为:

ans=1.0092639.47

2.0084917.75

3.0076817.13

4.0068319.02

5.0059403.89

6.0050051.30

7.0040239.78

8.0029946.80

9.0019148.74

10.007820.82

基金用完时老人的年龄为:

time=

70岁8个月

若老人想用到80岁,每月取1000元,则老人60岁时应存入的钱为:

money=

154093.3029元

三、结果分析:

老人60岁时存入10万元,每月取1千元,那么70岁零8个月时钱用完;若想用到80岁,则60岁时应存入15409.30元。

10、由某商店过去的销售记录知道,某种商品每月的销售数可以用参数

的泊松分布来描述,为了有95%以上的把握不使商品脱销,问商店在每月月底应进该种商品多少件?

>>y=poissinv(0.95,25)

y=33

P85实验练习:

第三题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1