哈尔滨工业大学2012matlab考查题答案

更新时间:2023-12-20 04:15:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2012年春季学期

MATLAB 课程考查题

姓名: 学号: 学院: 专业: 一、必答题:

1,简述MATLAB组成部分?

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

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

答:具有强大的功能,使用方便,输入便捷,库函数丰富,开放性强。 3,存储在工作空间中的数组能编辑吗?如何操作?

答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。

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

答:在MATLAB中有多种获得帮助的途径:

(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;

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

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

(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。

注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。

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

答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。在通常情况下,左除x=a\\b是a*x=b的解,右除x=b/a是x*a=b的解,一般情况下,a\\b?b/a。

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

答:(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。

命令文件没有函数定义行,且一般没有注释信息,当然也可以添加注释信息,

即以%开头的内容。在使用方法变量生存周期中也存在差异。 7,GUI开发环境中提供了哪些方便的工具?各有什么用途?

答:在GUI开发环境中提供了下列五个方便的工具:

(1)布局编辑器(Layout Editor)—在图形窗口中创建及布置图形对象 (2)几何排列工具(Alignment Tool)—调整各对象之间的相互几何关系和位置

(3)属性编辑器(Property Inspector)—查询并设置对象的属性值 (4)对象浏览器(Object Browser)—获得当前MATLAB窗口中图形对象句柄的分级排列

(5)菜单编辑器(Menu Editor)—建立和编辑主菜单和图形对象的鼠标右键菜单

8,if语句有几种表现形式? 答:(1)if 表达式 语句体 end

(2)if 表达式 语句体1 else

语句体2 end

(3)if 表达式1 语句体1

else if 表达式2 语句体2 end

(4)if 表达式1 语句体1

else if 表达式2 语句体2 else

语句体3 end

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

答: 轴对象是图形窗口对象的子对象,是图像、灯光、线、块、矩形、表面、字的父对象。

10,什么是图形句柄?图形句柄有什么用途?

答:图形句柄是每个图形对象从产生时起就被赋予的一个唯一的标识。利用图形句柄既可以操纵一个已经存在的图形对象的属性,也可以在建立图形对象时指定属性的值,特别是对指定对象句柄的操作不会影响同时存在的其他对象,这

是非常有用的。

11,已知三维图形视角的缺省值是方位角为-37.5°,仰角为30°,写出将方位角顺时针旋转20?角的命令。 答:>>view(-57.5°,30°)

12,什么是Simulink?简述Simulink的步骤。

答:SIMULINK是实现动态系统建模、仿真的一个集成环境,它支持线性和非线性系统、连续时间系统、离散时间系统等,而且系统可以是多进程的。 (1) 根据要仿真的系统框图,在SIMULINK窗口的仿真平台上构建仿真模

型。

(2) 设计模块参数。 (3) 设计仿真参数。 (4) 启动仿真。

(5) 观测仿真结果。 13, 计算a??6??2973??5?与b??2??4461??8?的数组乘积。

答:>> a=[6 9 3;2 7 5];

>> b=[2 4 1;4 6 8]; >> a.*b ans =

12 36 3 8 42 40 14,对于AX?B,如果

?4?A?7???39652??4?7???37??,B??26????28??,求解X。

答:>>A=[4 9 2;7 6 4;3 5 7];

>>B=[37 26 28]; >>X=A\\B X=

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

答:>> solve('x^3+7*x^2+2*x+40=exp(x)') ans =

-7.4519193726119900192234671421412 16,求解在x=8时多项式(x-1)(x-2) (x-3)(x-4)的值。 答:>>p=poly([1,2,3,4]); >>polyvalm(p,8)

ans= 840

17,计算多项式除法(3x3+13x2+6x+8)/(x+4)。 答:>>d=deconv([3 13 6 8],[1 4])

d=

3 1 2

18,计算多项式4x4?12x3?14x2?5x?9的微分和积分。 答:求微分:

>> diff(4*x^4-12*x^3-14*x^2+5*x+9,x) ans =

16*x^3 - 36*x^2 - 28*x + 5 求积分:

>> int(4*x^4-12*x^3-14*x^2+5*x+9,x) ans =

(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,用三次样条法进行插值。

答:>> x0=0:pi/5:4*pi;

>> y0=sin(x0).*exp(-x0/10); >> x=0:pi/20:4*pi; >> y=spline(x0,y0,x); >> plot(x0,y0,'or',x,y,'b')

20,符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2?]。

答:>>syms t

>>ezpolt(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,pi])

21,有一组测量数据满足y?e,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并添加标题识出各曲线a的取值,添加标题

y?e-at-aty?e-at,用箭头线标

和图例框。

答:>>t=0:0.5:10

>>y1=exp(-0.1*t+1) >>y2=exp(-0.2*t+1) >>y3=exp(-0.5*t+1)

>>plot(t,y1,?-ob?,t,y2,?:*r?,t,y3,?-.^g?)

>>title('\\ity\\rm=e^{-\\itat}')

>>title('\\ity\\rm=e^{-\\itat}','FontSize',12)

>>text(t(6),y1(6),'\\leftarrow\\ita\\rm=0.1','FontSize',11) >>text(t(6),y2(6),'\\leftarrow\\ita\\rm=0.2','FontSize',11) >>text(t(6),y3(6),'\\leftarrow\\ita\\rm=0.5','FontSize',11)

>> title('\\ity\\rm=e^{-\\itat}','FontSize',12) >> legend('a=0.1','a=0.2','a=0.5')

22,建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正 弦波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到工作空间。

23,编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。 答:function c=collatz(n) % collatz

% Classic “3n+1” Ploblem from number theory

c=n;

while n>1

if rem(n,2)==0 n=n/2; else

n=3*n+1; end c=[c n]; end 24,

?4矩阵a??7???3254?6??4?9??,计算a的行列式和逆矩阵。

答:求行列式:

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

>> det(a) ans =

-64

求逆矩阵:

>> a=[4,2,-6;7,5,4;3,4,9]; >> inv(a) ans =

-0.4531 0.6562 -0.5937 0.7969 -0.8437 0.9062 -0.2031 0.1562 -0.0937 25, 用符号函数法求解方程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))

二、选答题(在下列题中选答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]' >> e=[ones(size(x)) x.^2] >> c=e\\y

>> x1=[1:0.1:5]';

>> y1=[ones(size(x1)),x1.^2]*c; >> plot(x,y,'ro',x1,y1,'k')

2.

?af???ax?ex2log(x)??x?sin(x)?1, 用符号微分求df/dx。

答: >> syms a x;

>> 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)] 3.

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

一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。 答:x=-2:0.1:2;

y=x;

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

subplot(2,2,1); plot3(x,y,z); %三维线图、 [x,y]=meshgrid(x,y); z=x*exp(-x^2 - y^2);

subplot(2,2,2); mesh(x,y,z);%网线图 subplot(2,2,3); surf(x,y,z); %表面图 subplot(2,2,4);

surf(x,y,z,'FaceColor','green','EdgeColor','none'); %表面图 camlight left; lighting phong alpha(.5)

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

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

答: >> subplot('position',[0.1,0.15,0.3,0.65])

>> hist(randn(1,1000),20); >> xlabel('直方图')

>> subplot('position',[0.45,0.52,0.25,0.28]) >> [xp,yp,zp]=peaks;

>> contour(xp,yp,zp,15,'k') >> hold on

>> pcolor(xp,yp,zp) >> shading interp >> hold off >> axis off

>> text(-1.2,-4,'伪彩色图')

>> subplot('position',[0.72,0.5,0.25,0.3]) >> sphere(25);

>> axis equal,axis([-0.75,0.75,-0.75,0.75,-0.75,0.75]) >> light('Position',[1 3 2]); >> light('Position',[-3 -1 3]); >> material shiny >> axis off

>> text(-0.8,-0.7,-1,'三维图')

>> subplot('position',[0.45,0.15,0.5,0.25]) >> t=0:pi/15:pi;

>> y=sin(4*t).*sin(t)/2;

>> plot(t,y,'-bs','LineWidth',2,... %设置线型

'MarkerEdgeColor','k',... %设置标记点边缘颜色 'MarkerFaceColor','y',... %设置标记点填充颜色 'MarkerSize',5)

>> axis([0,3.14,-0.5,0.5])

>> xlabel('带标记点的线图')

>> subplot('position',[0.1,0.9,0.8,0.1]) >> text(0.25,0.2,'多窗口绘图示例',...

>> 'fontsize',25,'fontname','隶书','color','b') >> axis off

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

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

(2)建立建立五个单选框,用于选择不同的色图; (3)callback函数的内容为:

function varargout = 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)

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

function varargout = 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)

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

function varargout = 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)

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

function varargout = 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)

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

function varargout = 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倍的结果合成 一个二维数组,用数字显示器显示出来。

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

答:解决微积分问题,先定义下列三个方程式,接著再演算其微分项: >>S1 = '6*x^3-4*x^2+b*x-5'; >>S2 = 'sin(a)';

>>S3 = '(1 - t^3)/(1 + t^4)'; >>diff(S1) ans=18*x^2-8*x+b >>diff(S1,2) ans= 36*x-8 >>diff(S1,'b')

ans= x >>diff(S2) ans= cos(a) >>diff(S3)

ans=-3*t^2/(1+t^4)-4*(1-t^3)/(1+t^4)^2*t^3 >>simplify(diff(S3))

ans= t^2*(-3+t^4-4*t)/(1+t^4)^2

本文来源:https://www.bwwdw.com/article/byw5.html

Top