MATLAB课程考题.docx

上传人:b****8 文档编号:9367877 上传时间:2023-02-04 格式:DOCX 页数:20 大小:250.49KB
下载 相关 举报
MATLAB课程考题.docx_第1页
第1页 / 共20页
MATLAB课程考题.docx_第2页
第2页 / 共20页
MATLAB课程考题.docx_第3页
第3页 / 共20页
MATLAB课程考题.docx_第4页
第4页 / 共20页
MATLAB课程考题.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

MATLAB课程考题.docx

《MATLAB课程考题.docx》由会员分享,可在线阅读,更多相关《MATLAB课程考题.docx(20页珍藏版)》请在冰豆网上搜索。

MATLAB课程考题.docx

MATLAB课程考题

2012年春季学期

MATLAB课程考查题

一、必答题:

1.简述MATLAB组成部分?

答:

MATLAB系统由5个主要的部分构成:

(1)开发环境(developmentEnvironment):

为MATLAB用户或程序编制员提供的一套应用工具和设施。

由一组图形化用户接口工具和组件集成:

包括MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口及帮助信息、工作空间、文件和搜索路径等浏览器;

(2)MATLAB数学函数库(MathFunctionLibrary):

数学和分析功能在MATLAB工具箱中被组织成8个文件夹。

elmat初步矩阵,和矩阵操作。

elfun初步的数学函数。

求和、正弦、余弦和复数运算等

specfun特殊的数学函数。

矩阵求逆、矩阵特征值、贝塞尔函数等;

matfun矩阵函数-用数字表示的线性代数。

atafun数据分析和傅立叶变换。

polyfun插值,多项式。

funfun功能函数。

sparfun稀疏矩阵。

(3)MATLAB语言:

(MATLABLanguage)一种高级编程语言(高阶的矩阵/数组语言),包括控制流的描述、函数、数据结构、输入输出及面对对象编程;

(4)句柄图形:

(HandleGraphics)MATLAB制图系统具有2维、3维的数据可视化,图象处理,动画片制作和表示图形功能。

可以对各种图形对象进行更为细腻的修饰和控制。

允许你建造完整的图形用户界面(GUI),以及建立完整的图形界面的应用程序。

制图法功能在MATLAB工具箱中被组织成5个文件夹:

1.graph2d二维数图表。

 2.graph3d三维图表。

3.specgraph专业化图表。

 4.graphics制图法。

5.uitools图形用户界面工具。

(5)应用程序接口:

(AppliedFunctionInterface)MATLAB的应用程序接口允许用户使用C或FORTRAN语言编写程序与MATLAB连接。

2.说明使用M文件编辑/调试器的方法和优点?

答:

方法:

(1)打开文件编辑器:

(Openingthefileeditor)最简单的方法是在操作桌面的工具栏上选择新建文件键(NewM-File)或打开已有文件键(OpenFile),也可以在命令窗口输入命令edit建立新文件或输入editfilename,打开名为filename的M文件;

(2)编写程序内容:

(Composetheprogramcontent)编写新的文件或修改已有文件;(3)保存文件:

(savefile)文件运行前必须完成保存操作,与一般的文件编辑保存操作相同;(4)运行文件:

(runningfile)在命令窗口输入文件名即可运行。

如要在编辑器中直接完成运行,可在编辑器的Debug菜单下saveandrun选项,或按Run快捷键,最快捷的方法是直接按F5键执行运行。

优点:

具有用法简易、可灵活运用、程序结构强又兼具延展性的优点,具体表现为:

(1)功能强大的数值运算;

(2)先进的资料视觉化功能;(3)高阶但简单的程序环境;(4)开放及可延伸的架构;(5)丰富的程序工具箱

3.存储在工作空间中的数组能编辑吗?

如何操作?

答:

能进行编辑。

Matlab在工作空间窗口中设计有专门的内存数组编辑器,实现对数组的相关操作,为了对变量的内容进行观察、编辑与修改,可以用三种方法打开内存数组编辑器。

(1)双击变量名;

(2)选择该窗口工具栏上的打开图标;(3)鼠标指向变量名,点击鼠标右键,弹出选择菜单,然后选项操作。

4.在MATLAB中有几种获得帮助的途径?

答:

(1)帮助浏览器:

选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以打开帮助浏览器;

(2)help命令:

在命令窗口键入“help”命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:

在命令窗口键入“lookfor关键词”可以搜索出一系列与给定关键词相关的命令和函数;(4)模糊查询:

输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。

5.在进行算术运算时,数组运算和矩阵运算各有什么特点,如何区分两种运算?

左除与右除有什麽区别?

答:

数组运算是在数组中对应元素之间进行运算;矩阵运算是将标量当作1×1阶矩阵,一维数组当作一行或一列的矢量(即1×n阶或n×1阶的矩阵),二维数组当作m×n阶矩阵,然后按照矩阵的运算规则进行运算。

区别:

二者输入形式和书写方法相同,差别仅在于使用不同的运算符号,执行不同的计算过程,数组的运算是对应元素之间的运算,而矩阵运算是根据矩阵的运算规则进行。

矩阵除法包括左除和右除,条件:

a矩阵是非奇异方阵,则a\b(左除)和b/a(右除)都可以实现。

a\b等效于a矩阵的逆左乘b矩阵,即a\b=inv(a)*b,b/a等效于a矩阵的逆右乘b矩阵,即b/a=b*inv(a).通常x=a\b是a*x=b的解,x=b/a是x*a=b的解。

一般a\b≠b/a,右除与左除的关系为:

(b/a)’=(a’\b’)

6.命令文件与函数文件的主要区别是什么?

答:

(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;

(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。

7.GUI开发环境中提供了哪些方便的工具?

各有什么用途?

答:

MATLAB可视化的创建图形用户接口(GUI)工具包括:

(1)布局编辑器(LayoutEdtor)-------在图形窗口中加入及安排对象。

(2)几何排列工具(AlignmentTool)-----调整各对象相互之间的几何关系和位置

(3)属性编辑器(PropertyInspector)-----查询并设置属性值

(4)对象浏览器(ObjectBrowser)-----用于获得当前MATLAB图形用户界面程序中所有的全部对象信息,对象的类型,同时显示控件的名称和标识,在控件上双击鼠标可以打开该控件的属性编辑器。

(5)菜单编辑器(MenuEditor)-----建立窗口菜单条的菜单和任何构成布局的弹出菜单

8.if语句有几种表现形式?

答:

(1)if表达式

语句体

end

(2)if表达式

语句体1

else

语句体2

end

(3)if表达式1

语句体1

elseif表达式2

语句体2

end(4)if表达式1

语句体1

elseif表达式2

语句体2

else语句体3

end

9.轴对象是使用的最多的图形对象之一,那么轴对象是哪个对象的子对象,又

是那些对象的父对象?

答:

轴对象在图形窗口中定义一个区域,并确定该区域中子对象的方向,轴是图形窗口的子对象,又是图象、灯光、线、块、表面和文字的父对象。

10.什么是图形句柄?

图形句柄有什么用途?

答:

图形对象的句柄是MATLAB显示图形数据和建立图形用户接口的基础,每个对象从产生时起就被赋予了一个唯一的标识,这种标识就是该对象的句柄。

利用句柄就可以操纵一个已经存在的图形对象的特性(属性)。

11.已知三维图形视角的缺省值是方位角为-37.5°,仰角为30°,写出将方位角顺时针旋转20角的命令。

答:

>>view(-57.5,30)

12.什么是Simulink?

简述Simulink的步骤。

答:

Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续的、离散的或二者混合的线性和非线性系统,也支持具有多种采样速率的多速率系统。

Simulink的三大步骤(procedureofSimulink):

1、模型创建与定义、(Modelcreatinganddefinition)

2、模型的分析、(Modelanalyzing)

3、模型的修正。

(Modelmodifying)

13.计算

的数组乘积。

解:

a=[6,9,3;2,7,5];

b=[2,4;4,6;1,8];

a*b

ans=

51102

3790

14.对于

,如果

,求解X。

解:

A=[4,9,2;7,6,4;3,5,7];

B=[37;26;28];

X=inv(A)*B

X=

-0.5118

4.0427

1.331815.

symsx

solve('x^3-7*x^2+2*x+4=0')

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

解:

symsx

solve('x^3-7*x^2+2*x+40=0')

ans=

-2

4

5

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

解:

x=8;

y=(x-1)*(x-2)*(x-3)*(x-4)

y=

840

17.计算多项式除法(3x3+13x2+6x+8)/(x+4)。

解:

symsx

y=3*x^3+13*x^2+6*x+8;

A=factor(y);

B=A/(x+4)

B=

3*x^2+x+218.

18.计算多项式

的微分和积分。

解:

symsx

y=sqrt(4*x^4-12*x^3-14*x^2+5*x+9);

df=diff(y)

df=

-(-16*x^3+36*x^2+28*x-5)/(2*(4*x^4-12*x^3-14*x^2+5*x+9)^(1/2))

symsx

f=4*x^4-12*x^3-14*x^2+5*x+9;

nf=int(f)

nf=

(4*x^5)/5-3*x^4-(14*x^3)/3+(5*x^2)/2+9*x

19.有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:

pi/5:

4*pi,用三次样条法进行插值。

答:

>>x=0:

pi/5:

4*pi;

y=sin(x).*exp(-x/10)

x1=0:

0.1:

4*pi;

y1=spline(x,y,x1);

plot(x,y,'or',x1,y1,'k')

y=

Columns1through9

00.55200.83870.78770.45720.0000-0.4032-0.6126-0.5753

Columns10through18

-0.3339-0.00000.29450.44750.42020.24390.0000-0.2151-0.3268

Columns19through21

-0.3069-0.1781-0.0000

20.符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范

围为[0,2]。

解:

t=0.1:

0.1^5*pi:

2*pi;

x=sin(3*t)*cos(t);

y=xin(3*t)*sin(t);

plot(x,y)

21.有一组测量数据满足

,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并添加标题

,用箭头线标识出各曲线a的取值,添加标题

和图例框。

解:

x=0:

0.01:

10;

y1=exp(-0.1*x);

y2=exp(-0.2*x);

y3=exp(-0.5*x);

plot(x,y1,'b',x,y2,'R',x,y3,'k')

xlabel('x')

ylabel('y')

title('SineandCosineCurve')

gtext('y=exp(-0.1*x)')

gtext('y=exp(-0.2*x)')

gtext('y=exp(-0.5*x)')

22.建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正弦

波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到

工作空间。

解:

t=-2:

0.1^3:

2;

y1=2*sin(t*pi);

y2=2*sin(t*pi)+0.1*sin(t*pi);

plot(t,y1,'r',t,y2,'k')

title('SineandCosineCurve')

gtext('y=2*sin(t*pi)')

gtext('y=2*sin(t*pi)+0.1*sin(t*pi)'

23.编制一个解数论问题的函数文件:

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

解:

A=rand(1,1);

a=A(1,1);

fprintf('a=%.0f\n',a);

t=1;

whilet==1

ifmod(a,2)==0;

a=a/2;

fprintf('a=%.0f\n',a);

else

a=a*3+1;

fprintf('a=%.0f\n',a);

end

ifa==1

t=0;

fprintf('a=%.0f\n',a);

else

t=1;

end

end

24.矩阵

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

解:

a=[4,2,-6;7,5,4;3,4,9];

det(a)

inv(a)

ans=

-64

ans=

-0.45310.6562-0.5937

0.7969-0.84370.9062

-0.20310.1562-0.0937

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

解:

symst

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

ans=

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

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

二、选答题(在下列题中选答5题):

1.有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求

解y。

x

1

1.5

2

2.5

3

3.5

4

4.5

5

y

-1.4

2.7

3

5.9

8.4

12.2

16.6

18.8

26.2

答:

>>x=[11.522.533.544.55];%实验数据

y=[-1.42.735.98.412.216.618.826.2];

p=polyfit(x,y,2)%做二阶多项式拟合

x2=1:

0.1:

5;

y2=polyval(p,x2);%根据给定值计算多项式结果

plot(x,y,'o',x2,y2)

p=

0.91950.8898-2.2105

2.

,用符号微分求df/dx。

解:

symsx

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

diff(f,x)

ans=

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

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

3.

,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同

一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。

解:

x=-2:

0.1:

2;

y=x;

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

subplot(2,2,1)

z=x*exp(-x^2-y^2);

plot3(x,y,z)

subplot(2,2,2)

mesh(x,y,z)

subplot(2,2,3)

surf(x,y,z)

4.用subplot语句在一个图形窗口上开多个大小不等的子窗口进行绘图并添加注

释,见图。

图形具体内容及各图所占位置可自选。

解:

x=0:

pi/10:

2*pi;

y1=sin(x);

subplot(1,2,1);plot(x,y1,'b')

x=-5:

0.2:

5;y=x;

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

subplot(2,2,2);

mesh(x,y,z)

x=[15,32,58,20,10];

subplot(2,2,4)

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

pie(x,explode)

5.用单选框做一个如图所示的界面,通过选择不同的单选框来决定使用不同的色

彩图。

提示:

(1)建立坐标轴对象,用于显示图形;

(2)建立建立五个单选框,用于选择不同的色图;

(3)callback函数的内容为:

functionvarargout=radiobutton1_Callback(h,eventdata,handles,varargin)

set(handles.radiobutton1,'value',1)

set(handles.radiobutton2,'value',0)

set(handles.radiobutton3,'value',0)

set(handles.radiobutton4,'value',0)

set(handles.radiobutton5,'value',0)

colormap(jet)

%--------------------------------------------------------------------

functionvarargout=radiobutton2_Callback(h,eventdata,handles,varargin)

set(handles.radiobutton1,'value',0)

set(handles.radiobutton2,'value',1)

set(handles.radiobutton3,'value',0)

set(handles.radiobutton4,'value',0)

set(handles.radiobutton5,'value',0)

colormap(hsv)

%--------------------------------------------------------------------

functionvarargout=radiobutton3_Callback(h,eventdata,handles,varargin)

set(handles.radiobutton1,'value',0)

set(handles.radiobutton2,'value',0)

set(handles.radiobutton3,'value',1)

set(handles.radiobutton4,'value',0)

set(handles.radiobutton5,'value',0)

colormap(hot)

%--------------------------------------------------------------------

functionvarargout=radiobutton4_Callback(h,eventdata,handles,varargin)

set(handles.radiobutton1,'value',0)

set(handles.radiobutton2,'value',0)

set(handles.radiobutton3,'value',0)

set(handles.radiobutton4,'value',1)

set(handles.radiobutton5,'value',0)

colormap(pink)

%--------------------------------------------------------------------

functionvarargout=radiobutton5_Callback(h,eventdata,handles,varargin)

set(handles.radiobutton1,'value',0)

set(handles.radiobutton2,'value',0)

set(handles.radiobutton3,'value',0)

set(handles.radiobutton4,'value',0)

set(handles.radiobutton5,'value',1)

colormap(copper)

 

6.建立一个简单模型,产生一组常数(1×5),再将该常数与其5倍的结果合成

一个二维数组,用数字显示器显示出来。

解:

a=rand(1,5);

b=5*a;

c=[a;b]

c=

0.81470.90580.12700.91340.6324

4.07364.52900.63494.56693.1618

7.用Matlab编制一个解决你所在学科内某小问题的应用程序。

解:

某工厂利用甲乙两种原料生产A1,A2,A3三种产品。

每月可供应的原料数量(单位:

t),每万件产品所需各种原料的数量及每万件产品的价格如表8-5所示:

原料

每万件产品所需原料(t)

每月原料供应量(t)

A1

A2

A3

4

3

1

180

2

6

3

200

价格(万元/万件)

12

5

4

试制定每月的最优生产计划,使得总收益最大。

解:

设生产A1,A2,A3的产量分别为变量

,则:

程序如下:

c=[-12,-5,-4];

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

b=[180;200];

vlb=[0;0;0];

vub=[];

[x,fval]=linprog(c,A,b,[],[],vlb,vub)

运行结果:

x=

34.0000

0.0000

44.0000

fval=

-584.0000

因此A1=34,A2=0,A3=44时受益最大,最大值为584.

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

当前位置:首页 > 解决方案 > 学习计划

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

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