哈工大级MATLAB选修课考试解答.docx
《哈工大级MATLAB选修课考试解答.docx》由会员分享,可在线阅读,更多相关《哈工大级MATLAB选修课考试解答.docx(18页珍藏版)》请在冰豆网上搜索。
哈工大级MATLAB选修课考试解答
哈工大级MATLAB选修课考试解答
————————————————————————————————作者:
————————————————————————————————日期:
2012年春季学期
MATLAB课程考察题
姓名:
*** 学号:
***学院:
*** 专业:
****
一、必答题:
1,简述MATLAB组成局部?
答:
MATLAB包括MATLAB和Simulink两大局部。
MATLAB系统主要由开发环境、MATLAB语言、MATLAB数学函数库、图形功能和应用程序接口五个局部组成。
2,说明使用M文件编辑/调试器的方法和优点?
答:
在操作界面上选择“建立新文件〞或“翻开文件〞操作时,M文件编辑/调试器将被启动。
在命令窗口中键入“edit〞命令也可以启动M文件编辑/调试器。
优点是可以在解决问题所需指令较多和所用指令构造较复杂时,或当一组指令通过改变少量参数就可以被反复使用去解决不同问题时,能直接调用M脚本文件执行操作。
3,存储在工作空间中的数组能编辑吗?
如何操作?
答:
存储在工作空间的数组可以通过数组编辑器进展编辑:
在工作空间浏览器中双击要编辑的数组名翻开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
4.,在MATLAB中有几种获得帮助的途径?
可通过如下几种帮助形式获得帮助:
1.指令窗帮助系统2.帮助导航系统3.Web网帮助系统
获得帮助的途径有:
〔1)帮助浏览器:
选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以翻开帮助浏览器;
(2)help命令:
在命令窗口键入“help〞命令可以列出帮助主题,键入“help 函数名〞可以得到指定函数的在线帮助信息;
(3〕lookfor命令:
在命令窗口键入“lookfor关键词〞可以搜索出一系列与给定关键词相关的命令和函数。
〔4〕模糊查询:
输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开场的命令和函数。
5,在进展算术运算时,数组运算和矩阵运算各有什么特点,如何区分两种运算?
左除与右除有什么区别?
ﻩ答:
一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集
数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。
矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的。
左除与右除的区别为:
A/B=A*inv(B)而A\B=inv(A)*B,即A/B=(B'\A')'。
亦即解Ax=B时用x=A\B,解xA=B时用x=B/A。
6,命令文件与函数文件的主要区别是什么?
ﻩ答:
命令文件:
M文件中最简单的一种,不需输出输入参数,用M文件可以控制工作空间的所有数据。
运行过程中产生的变量都是全局变量。
运行一个命令文件等价于从命令窗口中顺序运行文件里的命令,程序不需要预先定义,只要依次将命令编辑在命令文件中即可。
函数文件:
如果M文件的第一个可执行行以function开场,便是函数文件,每一个函数文件定义一个函数。
函数文件区别于命令文件之处在于命令文件的变量在文件执行完成后保存在工作空间中,而函数文件内定义的变量只在函数文件内起作用,文件执行完后即被去除。
7,GUI开发环境中提供了哪些方便的工具?
各有什么用途?
界面编辑器及其辅助设计工具,通过鼠标操作进展用户界面设置,不仅简化设计过程,而且所得的执行M文件格式标准。
ﻩ
8, if语句有几种表现形式?
ﻩ答:
三种表现形式,分别为单分支、双分支和多分支。
9,轴对象是使用的最多的图形对象之一,那么轴对象是哪个对象的子对象,又
是那些对象的父对象?
答:
轴对象是图形窗口的子对象,线条、文本、曲面、贴片和图像是轴对象的子对象。
10,什么是图形句柄?
图形句柄有什么用途?
答:
图形对象的句柄是MATLAB显示图形数据和建立图形用户接口的根底,每个对象从产生时起就被赋予了一个唯一的标识,这种标识就是该对象的句柄。
利用句柄就可以操纵一个已经存在的图形对象的特性〔属性)。
11,三维图形视角的缺省值是方位角为-37.5°,仰角为30°,写出将方位角顺时针旋转20︒角的命令。
ﻩ答:
view([-57.5,30])
12,什么是Simulink?
简述Simulink的步骤。
答:
MATLABSimulink是一个动态仿真系统,用于对动态系统进展仿真和分析,预先模拟实际系统的特性和响应,根据设计和使用要求,对系统进展修改和优化。
Simulink提供了图形化用户界面,只须点击鼠标就可以轻易的完成模型的创立、调试和仿真工作,用户不须专门掌握一种程序设计语言。
Simulink可将系统分为从高级到低级的几个层次,每层又可以细分为几个局部,每层系统构建完成后,将各层连接起来构成一个完整系统。
Simulink可以仿真线性和非线性系统,并能创立连续时间、离散时间或二者混合的系统。
支持多采样频率系统。
13, 计算
与
的数组乘积。
y=[2,4,1;4,6,8];
x=[6,9,3;2,7,5];
x.*y
ans=
ﻩ12 36 3
ﻩ8 42 40
14对于
,如果
求解X。
a=[492;76 4; 3 4 7]
b=[37 2628]’
x=a\b
a=
4 9 2
7 6 4
34 7
b=
37 26 28
ans=
ﻩﻩ-0.9761
ﻩ4.0813
ﻩ2.0861
15,求解多项式x3-7x2+2x+40的根。
r=roots([1,-7,2,40])
r=
ﻩ5.0000
ﻩ4.0000
-2.0000
16,求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
ﻩa=[1 234];
pa=poly(a〕;
polyval〔pa,8)
ﻩ
ans=
ﻩﻩ840
17,计算多项式除法〔3x3+13x2+6x+8)/〔x+4)。
c=[3 136 8];
[q2,r2]=deconv(c,[1,4])
cc=conv(q2,[1,4])
test=((c-r2)==cc)
q2=
3 12
r2=
0 0 00
cc=
3 13 6 8
test =
1 11 1
18,计算多项式
的微分和积分。
微分:
syms x;
f=4*x^4-12*x^3-14*x^2+5*x+5;
diff〔f)
ans=
16*x^3-36*x^2-28*x+5
积分:
symsx;
f=4*x^4-12*x^3-14*x^2+5*x+5;
int〔f〕
ans=
4/5*x^5-3*x^4-14/3*x^3+5/2*x^2+5*x
19,有一正弦衰减数据y=sin(x).*exp(-x/10〕,其中x=0:
pi/5:
4*pi,用三次样条法进展插值。
x0=0:
4*pi;
y0=sin〔x0).*exp(-x0/10〕;
x=0:
pi/5:
4*pi;
y=spline(x0,y0,x);
plot(x0,y0,'or',x,y,'k')
20,.符号函数绘图法绘制函数x=sin(3t〕cos(t),y=sin(3t)sin(t)的图形,t的变化范
围为[0,2π]。
syms t
x=sin(3*t)*cos(t)
y=sin(3*t)*sin(t)
ezplot(x,y,[0,2*pi])
21,有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并添加标题
,用箭头线标识出各曲线a的取值,添加标题
和图例框。
。
ﻩclf
t=0:
0.5:
10
y1=[exp(-0.1.*t)]
y2=[exp(-0.2.*t)]
y3=[exp(-0.5.*t〕]
plot(t,y1,'-h',t,y2,':
o',t,y3,'--x')
title〔'y=\ite^{-at}'〕
Lstr=['a=0.1';'a=0.2';'a=0.5']
legend〔Lstr,'Location','Best')
h=annotation('textarrow',[0.72860.7161],[0.39050.45]〕;
set(h,'string','a=0.1','fontsize',10);
h=annotation('textarrow',[0.48390.5089],[0.3190.3738]〕;
set〔h,'string','a=0.2','fontsize',10);
h=annotation('textarrow',[0.31790.3357],[0.20480.2738]〕;
set〔h,'string','a=0.5','fontsize',10);
hold off
22,建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正 弦
波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到
工作空间。
23编制一个解数论问题的函数文件:
取任意整数,假设是偶数,那么用2除,否那么乘3加1,重复此过程,直到整数变为1。
function[b,k]=aaa〔a〕
k=0;aa=a;b=aa;%k表示经过几次,最后变成1,b表示输入数字,变化规律
while1
k=k+1;
ifaa==1
ﻩbreak
elseif mod〔aa,2〕==0
ﻩaa=aa/2;
ﻩb=[b,aa];
else
aa=3*aa+1;
ﻩb=[b,aa];
ﻩend
end
24,矩阵
,计算a的行列式和逆矩阵。
a=[42 -6;7 54;34 9];
d1=det(a);
x1=inv〔a);
>>a=[4 2-6;7 54;3 49];
d1=det(a〕
x1=inv(a)
d1 =
-64
x1=
-0.4531 0.6562-0.5937
0.7969 -0.84370.9062
-0.20310.1562-0.0937
25用符号函数法求解方程at2+b*t+c=0。
symsabcx
f=a*x^2+b*x+c;
x=solve(f〕
S=solve〔f〕;
[S.x]
x=
[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。
2.
,用符号微分求df/dx。
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〕]
3.
,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同
一个图形窗口中绘制出三维线图、网线图、外表图和带渲染效果的外表图。
clf
x=-2:
0.1:
2;y=x;
[X,Y]=meshgrid(x,y);
Z=X.*exp(-X.^2-Y.^2〕;
subplot(2,2,1),plot3(X,Y,Z);
subplot〔2,2,2〕,mesh(X,Y,Z);
subplot(2,2,3),surf〔X,Y,Z);shadinginterp
subplot(2,2,4),surf〔X,Y,Z);shadinginterp,
light〔'position',[0-101.5],'style','infinite'),lightingphong,
materialshiny
holdoff
4.用subplot语句在一个图形窗口上开多个大小不等的子窗口进展绘图并添加注
释,见图。
图形具体内容及各图所占位置可自选。
t1=(0:
11)/11*pi;ﻩﻩﻩ
t2=(0:
400〕/400*pi;
t3=(0:
50)/50*pi;ﻩﻩﻩﻩﻩ
y1=sin(t1).*sin(9*t1);ﻩﻩﻩ
y2=sin(t2〕.*sin(9*t2);
y3=sin〔t3).*sin(9*t3);
subplot〔2,2,1),plot〔t1,y1,'r.'〕ﻩ
axis〔[0,pi,-1,1]),title('(1〕点过少的离散图形')
subplot〔2,2,2),plot(t1,y1,t1,y1,'r.')ﻩ
axis([0,pi,-1,1]),title('
(2)点过少的连续图形'〕
subplot(2,2,3),plot〔t2,y2,'r.')ﻩﻩ
axis([0,pi,-1,1]〕,title〔'(3〕点密集的离散图形')
subplot(2,2,4),plot(t3,y3〕ﻩﻩﻩﻩﻩﻩ
axis([0,pi,-1,1]〕,title〔'〔4〕点足够的连续图形'〕
5.用单项选择框做一个如下图的界面,通过选择不同的单项选择框来决定使用不同的色
彩图。
Varargout函数体:
functionvarargout=work_OutputFcn〔hObject, eventdata,handles〕
% varargoutcell arrayfor returningoutput args(seeVARARGOUT〕;
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handles structure withhandlesanduser data(see GUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1} =handles.output;
x=-2:
0.1:
2;y=x;
[X,Y]=meshgrid(x,y);
Z=X.^3+Y.^3-3.*X.*Y;
h=surf〔X,Y,Z);shading interp
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〕
%--------------------------------------------------------------------
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倍的结果合成
一个二维数组,用数字显示器显示出来。
ﻩ
7.用Matlab编制一个解决你所在学科内某小问题的应用程序。
EffectivedateRevisionﻩAuthorﻩﻩﻩDescriptionofChanges
2021.5.181.0ﻩﻩAlbert WuﻩN/A