集美大学MATLAB程序设计与应用期末总复习.docx

上传人:b****1 文档编号:684263 上传时间:2023-04-29 格式:DOCX 页数:25 大小:98.64KB
下载 相关 举报
集美大学MATLAB程序设计与应用期末总复习.docx_第1页
第1页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第2页
第2页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第3页
第3页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第4页
第4页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第5页
第5页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第6页
第6页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第7页
第7页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第8页
第8页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第9页
第9页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第10页
第10页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第11页
第11页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第12页
第12页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第13页
第13页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第14页
第14页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第15页
第15页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第16页
第16页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第17页
第17页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第18页
第18页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第19页
第19页 / 共25页
集美大学MATLAB程序设计与应用期末总复习.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

集美大学MATLAB程序设计与应用期末总复习.docx

《集美大学MATLAB程序设计与应用期末总复习.docx》由会员分享,可在线阅读,更多相关《集美大学MATLAB程序设计与应用期末总复习.docx(25页珍藏版)》请在冰点文库上搜索。

集美大学MATLAB程序设计与应用期末总复习.docx

集美大学MATLAB程序设计与应用期末总复习

集美大学MATLAB程序设计与应用期末总复习

一、填空题

1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、历史命令窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、

帮助导航/浏览器、图形窗口等。

2、MATLAB中Inf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出变量数目。

3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔符;

用作输入量与输入量之间的分隔符;用作数组元素分隔符号。

4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。

5、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全

下标的指令为Ind2sub。

6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。

7、在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第

2行第3列元胞中的内容用A{2,3}。

8、MATLAB中clf用于清除图形窗、clc用于清除指令窗中显示内容、clear

用于清除MATLAB工作空间中保存的变量。

二、简答题

1、简述MATLAB历史指令窗的主要作用。

答:

历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。

历史记录包括:

每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。

应用功能有单行或多行指令的复制和运行、生成M文件等。

2、简述空数组的功用。

答:

“空”数组的功用:

在没有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。

3、简述MATLAB函数的基本结构。

答:

典型M函数文件的结构:

函数申明(定义)行(Functiondeclarationline)、H1行(Thefirsthelptextline)、在线帮助文本(Helptext)区、编写和修改记录、函数体(Functionbody)。

4、简述绘制二维图形的一般步骤。

答:

绘制二维图形的一般步骤为:

曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。

三、编程题

(1)在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。

书p123、p126

解:

clf

x=0:

pi/200:

4*pi;

y1=sin(x);

y2=cos(x);

zz=x(find(abs(y1-y2)<0.005))

z=min(zz)

plot(x,y1,'r-',x,y2,'g_')

holdon

plot(zz,sin(zz),'*')

legend('sin','cos')

(2)分别在同一图形窗的不同子图绘制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。

P121

解:

t=(0:

pi/100:

pi)';

y1=sin(t)*[1,-1];

y2=sin(t).*sin(9*t);

t3=pi*(0:

9)/9;

y3=sin(t3).*sin(9*t3);subplot(1,2,1)

plot(t,y1,'r:

',t,y2,'b',t3,y3,'bo')

subplot(1,2,2)

plot(t,y2,'b')

axis([0,pi,-1,1])

(3)某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):

price<200没有折扣

200≤price<5003%折扣

500≤price<10005%折扣

1000≤price<25008%折扣

2500≤price<500010%折扣

5000≤price14%折扣

输入所售商品的价格,求其实际销售价格。

P172

解:

price=input('请输入商品价格');

switchfix(price/100)

case{0,1}%价格小于200

rate=0;

case{2,3,4}%价格大于等于200但小于500

rate=3/100;

casenum2cell(5:

9)%价格大于等于500但小于1000

rate=5/100;

casenum2cell(10:

24)%价格大于等于1000但小于2500

rate=8/100;

casenum2cell(25:

49)%价格大于等于2500但小于5000

rate=10/100;

otherwise%价格大于等于5000

rate=14/100;

end

price=price*(1-rate)%输出商品实际销售价格

(4)用符号变量法解如下方程p

解:

eq1=sym(‘x+2*y+z=1’);

eq2=sym(‘2*x+y-2*z=3’);

eq3=sym(‘3*x-4*y+2*z=9’);

[x,y,z]=solve(a,b,c)

(5)将matlab绘图窗口分割为二个区域,在左区域绘出y1曲线,在右区域绘出y2曲线,y1为红色,y2为蓝色,步距0.01.p121

解:

x1=0:

0.01:

5;

y1=x*exp(-2*x);

subplot(1,2,1);

plot(x1,y1,’r’);

x2=-2:

0.01:

2;

y2=5*cos(3*pi*x2);

subplot(1,2,2);

plot(x2,y2,’b’);

(6)某班有50名学生,进行英语考试,考试成绩为:

优秀8人,良好14人,中等20人,及格5人,不及格3人.试绘该班英语考试成绩分布的三维饼图,将优秀块及不及格块分离.p143

解:

x=[8,14,20,5,3];

explode=[1,0,0,0,1];

pie3(x,explode)

四、阅读程序

(1)写出下列指令运行结果。

P51

A=[1,2;3,4];

B=[-1,-2;2,1];

S=3;

A.*B

A*B

S.*A

S*B

解:

ans=

-1-4

64

ans=

30

5-2

ans=

36

912

ans=

-3-6

63

(2)写出下列指令运行结果。

A=zeros(2,4);

A(:

)=1:

8;

s=[235];

A(s)

Sa=[102030]’

A(s)=Sa

解:

ans=

235

Sa=

10

20

30

A=

120307

10468

(3)下面的函数主要完成什么功能?

functionf=factor(n)

ifn<=1

f=1;

else

f=factor(n-1)*n;

end

解:

功能是利用函数的递归调用,求n!

(4)下面的程序完成功能是什么?

t=0:

pi/50:

4*pi;

y0=exp(-t/3);

y=exp(-t/3).*sin(3*t);

plot(t,y,'-r',t,y0,':

b',t,-y0,':

b')

xlabel(‘\bf\itt’);

ylabel(‘\bf\ity’);

gridon;

解:

在同一个图中绘制两个函数,这两个函数分别是:

y=e(-t/3)

y0=e(-t/3)*sin(3t)

其中y是用红色的细实线,而y0是用兰色的虚线绘制,t的区间是(0:

4),

t的步长为/50,t轴和y轴分别用斜粗题指示,图中有网格表示。

(5)写出下列指令运行结果。

ch=‘ABc123d4e56Fg9’;

subch=ch(1:

5)

revch=ch(end:

-1:

1)

k=find(ch>=‘a’&ch<=‘z’);

ch(k)=ch(k)-(‘a’-‘A’);

char(ch)

解:

结果为ABC123D4E56FG9

(6)s1=0;s2=0;n1=0;n2=0

x=[1,-4,-8,3,10,-9,7,-3,10,8,-5,-2,2,0];

m=length(x);

fori=1:

m

ifx(i)<0

s1=s1+x(i);

n1=n1+1;

else

s2=s2+x(i);

n2=n2+1;

end

end

s1,n1,s2,n2,m

s1=-31;n1=6;s2=41;n2=8;m=14.

1与其他计算机语言相比较,MATLAB语言突出的特点是什么?

MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。

1.2MATLAB系统由那些部分组成?

MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。

二、编程题(32分)

4、编写程序实现f(n)=f(n-1)+f(n-2)(f

(1)=1和f

(2)=2)函数。

(6分)

functionf=fab(n)

if(n==1)

f=1;

elseif(n==2)

f=2;

else

f=fab(n-1)+fab(n-2);

end

1,计算

的数组乘积。

>>a=[693;275];

>>b=[241;468];

>>a.*b

ans=

12363

84240

2,对于

,如果

,求解X。

>>A=[492;764;357];

>>B=[372628]’;

>>X=A\B

X=

-0.5118

4.0427

1.3318

3,已知:

,分别计算a的数组平方和矩阵平方,并观察其结果。

>>a=[123;456;789];

>>a.^2

ans=

149

162536

496481

>>a^2

ans=

303642

668196

102126150

4,角度

,求x的正弦、余弦、正切和余切。

>>x=[304560];

>>x1=x/180*pi;

>>sin(x1)

ans=

0.50000.70710.8660

>>cos(x1)

ans=

0.86600.70710.5000

>>tan(x1)

ans=

0.57741.00001.7321

>>cot(x1)

ans=

1.73211.00000.5774

5,将矩阵

组合成两个新矩阵:

(1)组合成一个43的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即

(2)按照a、b、c的列顺序组合成一个行矢量,即

>>a=[42;57];

>>b=[71;83];

>>c=[59;62];

%

(1)

>>d=[a(:

)b(:

)c(:

)]

d=

475

586

219

732

%

(2)

>>e=[a(:

);b(:

);c(:

)]'

e=

452778135692

或利用

(1)中产生的d

>>e=reshape(d,1,12)

ans=

452778135692

6,将(x-6)(x-3)(x-8)展开为系数多项式的形式。

>>a=[638];

>>pa=poly(a);

>>ppa=poly2sym(pa)

ppa=

x^3-17*x^2+90*x-144

7,求解多项式x3-7x2+2x+40的根。

>>r=[1-7240];

>>p=roots(r);

-0.2151

0.4459

0.7949

0.2707

8,求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。

>>p=poly([1234]);

>>polyvalm(p,8)

ans=

840

9,计算多项式

的微分和积分。

>>p=[4–12–145];

>>pder=polyder(p);

>>pders=poly2sym(pder)

>>pint=polyint(p);

>>pints=poly2sym(pint)

pders=

12*x^2-24*x-14

pints=

x^4-4*x^3-7*x^2+5*x

10,解方程组

>>a=[290;3411;226];

>>b=[1366]';

>>x=a\b

x=

7.4000

-0.2000

-1.4000

11,求欠定方程组

的最小范数解。

>>a=[2474;9356];

>>b=[85]';

>>x=pinv(a)*b

x=

-0.2151

0.4459

0.7949

0.2707

12,矩阵

,计算a的行列式和逆矩阵。

>>a=[42-6;754;349];

>>ad=det(a)

>>ai=inv(a)

ad=

-64

ai=

-0.45310.6562-0.5937

0.7969-0.84370.9062

-0.20310.1562-0.0937

13y=sin(x),x从0到2,x=0.02,求y的最大值、最小值、均值和标准差。

>>x=0:

0.02*pi:

2*pi;

>>y=sin(x);

>>ymax=max(y)

>>ymin=min(y)

>>ymean=mean(y)

>>ystd=std(y)

ymax=

1

ymin=

-1

ymean=

2.2995e-017

ystd=

0.7071

14,参照课件中例题的方法,计算表达式

的梯度并绘图。

>>v=-2:

0.2:

2;

>>[x,y]=meshgrid(v);

>>z=10*(x.^3-y.^5).*exp(-x.^2-y.^2);

>>[px,py]=gradient(z,.2,.2);

>>contour(x,y,z)

>>holdon

>>quiver(x,y,px,py)

>>holdoff

15,下面三种表示方法有什么不同的含义?

(1)f=3*x^2+5*x+2

(2)f='3*x^2+5*x+2'

(3)x=sym('x')

f=3*x^2+5*x+2

(1)f=3*x^2+5*x+2

表示在给定x时,将3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。

(2)f='3*x^2+5*x+2'

表示将字符串'3*x^2+5*x+2'赋值给字符变量f,没有任何计算含义,因此也不对字符串中的内容做任何分析。

(3)x=sym('x')

f=3*x^2+5*x+2

表示x是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f也自然成为符号变量了。

16,用符号函数法求解方程at2+b*t+c=0。

>>r=solve('a*t^2+b*t+c=0','t')

r=

[1/2/a*(-b+(b^2-4*a*c)^(1/2))]

[1/2/a*(-b-(b^2-4*a*c)^(1/2))]

17,用符号计算验证三角等式:

(应用syms,simple)

sin

(1)cos

(2)-cos

(1)sin

(2)=sin(1-2)

>>symsphi1phi2;

>>y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2))

y=

sin(phi1-phi2)

18,求矩阵

的行列式值、逆和特征根。

>>symsa11a12a21a22;

>>A=[a11,a12;a21,a22]

>>AD=det(A)%行列式

>>AI=inv(A)%逆

>>AE=eig(A)%特征值

A=

[a11,a12]

[a21,a22]

AD=

a11*a22-a12*a21

AI=

[-a22/(-a11*a22+a12*a21),a12/(-a11*a22+a12*a21)]

[a21/(-a11*a22+a12*a21),-a11/(-a11*a22+a12*a21)]

AE=

[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]

[1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]

19,因式分解:

>>symsx;

>>f=x^4-5*x^3+5*x^2+5*x-6;

>>factor(f)

ans=

(x-1)*(x-2)*(x-3)*(x+1)

20,

,用符号微分求df/dx。

(应用syms,diff)

>>symsax;

>>f=[a,x^2,1/x;exp(a*x),log(x),sin(x)];

>>df=diff(f)

df=

[0,2*x,-1/x^2]

[a*exp(a*x),1/x,cos(x)]

26,x=[6649715638],绘制饼图,并将第五个切块分离出来。

>>x=[6649715638];

>>L=[00001];

>>pie(x,L)

28,有一周期为4的正弦波上叠加了方差为0.1的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序。

(提示:

①用0.1*randn(1,n)产生方差为0.1的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1

(2)=(x

(1)+x

(2)+x(3))/3,x1(3)=(x

(2)+x(3)+x(4))/3……)

t=0:

pi/50:

4*pi;

n=length(t);

y=sin(t)+0.1*randn(1,n);

ya

(1)=y

(1);

fori=2:

n-1

ya(i)=sum(y(i-1:

i+1))/3;

end

ya(n)=y(n);

plot(t,y,'c',t,ya,'r','linewidth',2)

29,编制一个解数论问题的函数文件:

取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。

functionc=collatz(n)

%collatz

%Classic“3n+1”Ploblemfromnumbertheory

c=n;

whilen>1

ifrem(n,2)==0

n=n/2;

else

n=3*n+1;

end

c=[cn];

end

3.求下列联立方程的解

>>a=[34-7-12;5-742;108-5;-65-210];

>>b=[4;4;9;4];

>>c=a\b

4.设

,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。

>>A=[14813;-36-5-9;2-7-12-8];

>>B=[543-2;6-23-8;-13-97];

>>C1=A*B'

>>C2=A'*B

>>C3=A.*B

>>inv(C1)

>>inv(C2)

>>inv(C3)

5.设

,把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线。

>>x=linspace(0,2*pi,101);

>>y=cos(x)*(0.5+(1+x.^2)\3*sin(x));

>>plot(x,y,'r')

6.产生8×6阶的正态分布随机数矩阵R1,求其各列的平均值和均方差。

并求该矩阵全体数的平均值和均方差。

(meanvar)

a=randn(8,6)

mean(a)

var(a)

k=mean(a)

k1=mean(k)

i=ones(8,6)

i1=i*k1

i2=a-i1

i3=i2.*i2

g=mean(i3)

g2=mean(g)

或者

u=reshape(a,1,48);

p1=mean(u)

p2=var(u)

7.设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y曲线。

>>t=linspace(0,10);

>>r1=2;

>>x1=(r1*cos(t)+3*t);

>>y1=r1*sin(t)+3;

>>r2=3;

>>x2=(r2*cos(t)+3*t);

>>y2=r2*sin(t)+3;

>>r3=4;

>>x3=(r3*cos(t)+3*t);

>>y3=r3*sin(t)+3;

>>plot(x1,y1,'r',x2,y2,'b',x3,y3,'m')

8.设f(x)=x5-4x4+3x2-2x+6

(1)在x=[-2,8]之间取100个点,画出曲线,看它有几个过零点。

(提示:

用polyval函数)

>>x=linspace(2,8,100);

>>y=polyval([10-43-26],x);

>>plot(x,y,'b',x,0,'y')

(2)用roots函数求此多项式的根。

t=[10-43-26]

p=roots(t)

3、下列变量中的最大数是(C),最小的是(D)

A.epsB.realminC.realmaxD.-pi

4、在MATLAB的若干通用操作指令中,清除内存中的变量的是(A)

 A.clearB.claC.clfD.clc

5、下列表示可以作为MATLAB的变量的是(DF)

A.abcd-2B.xyz_2#C.@hD.X_1_aE.forF.for1

6、在Matlab中变量是不区分大小写的(B)

A。

正确,B。

不正确

7、在Matlab中末尾续行的符号是…;注释的符号是%;强行中止Matlab执行的组合键是ctrl+c。

8、x=-2.6,y1=fix(x),y2=floor(x),y3=ceil(x),y4=round(x)中结果分别是多少

y1=-2y2=-3y3=-2y4=-3

2.9、分别建立3×3、3×2和与矩阵A同

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2