学习中心/函授站_
姓 名 学 号
西安电子科技大学网络与继续教育学院
2015学年上学期
《MATLAB与系统仿真》期末考试试题
(综合大作业)
题号 题分 得分
考试说明:
1、大作业于2015年4月3日公布,2015年5月9日前在线提交; 2、考试必须独立完成,如发现抄袭、雷同、拷贝均按零分计。 3、程序设计题(三(8,10))要求写出完整的程序代码,并在matlab软件环境调
试并运行通过,连同运行结果一并附上。
一、填空题(1’ ×25=25’) 1、Matlab的全称为 MATrix LABoratory 。
2、在Matlab编辑器中运行程序的快捷键是: F5 。
3、Matlab的工作界面主要由以下五个部分组成,它们分别是: Command window(指令窗口 、 Current directory(当前路径浏览器) 、 Workspace(工作台窗口) 、 Command history(指令历史窗口) 和 Launch pad(发布平台) 。
4、在Matlab中inf表示: 无穷大 ;clc表示: 清除当前Command window区域内容 ;more表示: 显示命令窗口输出一个整个萤幕的时间 ;who表示: 返回当前工作空间中所有变量名 ;whos表示: 返回当前工作空间中所有变量,以及它们的名字、尺寸、所占字节数、属性等信息 。
5、在Matlab命令窗口中运行命令 Simulink 可以打开Simulink模块库浏览器窗口。 6、求矩阵行列式的函数: det ;求矩阵特征值和特征向量的函数 eig 。
7、Matlab预定义变量ans表示: 当前未定义变量和变量名的答案 ;eps表示: 浮点相对精度(其值是从1.0到下一个最大浮点数之间的差值) ;nargin表示: 函数的输入变量的个数 。 8、Matlab提供了两种方法进行程序分析和优化,分别为: 提高程序运算速度 和 减少内存空间 。(不确定是否正确) 9、建立结构数组或转换结构数组的函数为: struct
第 1 页 (共 12 页)
一 25 二 12 三 63 总分 实现Fourier变换在Matlab中的对应函数为: fft ;Laplace变换的函数:laplace 。
函数文件 两10、MATLAB编写的程序文件称为M文件,M文件有 脚本文件 和 种。
二、简答题(3’×4=12’)
1、简述MATLAB命令窗的主要作用?
答:MATLAB的命令窗口(Command Window)用于输入命令并显示除图形以外的所有执行结果,是MATLAB 的主要交互窗口。
2、描述在Matlab中矩阵运算的含义,如A*B,A.*B表示什么运算过程?
答:MATLAB中矩阵算术运算包括基本算术运算和点运算。基本算数运算是在矩阵意义下进行的(当个数据的算术运算只是一种特例),如矩阵m*n维矩阵A和n*m维矩阵B相乘A*B得到一个m*m维矩阵。矩阵点运算是指他们对应元素进行相关运算,要求两矩阵的维数相同,如m*n维矩阵A和m*n维矩阵B点乘A.*B得到一个m*n为矩阵。 3、分析以下函数执行过程,回答问题: function c = testarg1(a, b) if (nargin == 1)
c = a .^ 2; elseif (nargin == 2)
c = a + b; end
如果用户使用一个参数调用函数testarg1,函数执行什么功能?如果使用两个参数调用函数testarg1,函数又执行什么?
答:题干程序中nargin是判断输入参数个数,根据不同输入参数执行不同操作。如果用户使用一个参数(a)调用函数testarg1,函数执行c=a.^2。如果使用两个参数(a,b)调用函数testarg1,函数执行c=a+b。
4、新建Simulink仿真模型文件的方法是什么?
答:(1)、首先打开SIMULINK模块库:在MATLAB工作界面的工具条单击SIMULINK图标,或在MATLAB指令窗口中运行simulink,就可引出SIMULINK模块浏览器。 (2)、新建模型窗:单击SIMULINK模块库浏览器工具条上的新建图标,引出空白模型窗。
(3)、添加元器件并保存:从模块库中找到所要的元器件,拖到模型窗中,连线并保存文件即可。
5、简述绘制二维图形的一般步骤?
答:首先定义自变量x的范围及步长;然后需要或者按一定的函数关系求得第二维变量的值y;最后利用绘制二维图形函数如:plot(x, y)即可绘制出x与y的二位图形。
6、简述脚本M文件和函数M文件的区别?
答:(1)、M函数文件一般都要带参数 , 都要有返回结果 , 而M脚本文件文件没有参数与返回结果
第 2 页 (共 12 页)
(2)、M函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清除 , 而命令文件的变量是全局变量 , 执行完毕后仍被保存在内存中
(3)、M函数文件要定义函数名 , 且保存该函数文件的文件名必须是函数名 .m 。M 函数文件可以有多个因变量和多个自变量 , 当有多个因变量时用[ ] 括起来。
三、程序设计及分析(1-2每题4’,3-9每题5’,10题20’,共63’)
?'1''2'?1、将下列字符矩阵S转换为数字矩阵(S???)?
'3''4'??>>S=[' 1 ' ' 2 ';' 3 ' ' 4 '] %输入字符矩阵
S =
1 2 3 4
>>N=str2num(S) %将字符矩阵转换为数字矩阵 N =
1 2 3 4
2、把矩阵A,B分别在垂直方向,水平方向连接,A=[1 2 3],B=[4 5 6]?
>>A=[1 2 3]; >>B=[4 5 6];
>> H=[A,B] %将A,B在水平方向连接 H =
1 2 3 4 5 6
>> V=[A';B'] %将A,B在垂直方向连接 V =
1 2 3 4 5
第 3 页 (共 12 页)
6
3、编程实现函数f(x)?x3?2x?5的根?
>>p=[1 0 -2 -5 ]; >> x=roots(p) x =
2.0946 -1.0473 + 1.1359i -1.0473 - 1.1359i
4、编程实现一元二次方程ax2?bx?c?0?
程序如下:
clear clc
disp('求方程:a*x^2+b*x+c=0的解'); disp('请输入a,b,c的值: '); a=input('a='); b=input('b='); c=input('c='); deta=b*b-4*a*c; if deta>0
disp('该方程有两个不相等的实数根'); elseif deta==0
disp('该方程有两个相等的实数根'); else
disp('该方程有两个共轭复根');
end
x=[(-b+sqrt(deta))/2/a;(-b-sqrt(deta))/2/a]
运行结果如下:
求方程:a*x^2+b*x+c=0的解 请输入a,b,c的值: a=1 b=4 c=1
该方程有两个不相等的实数根 x =
第 4 页 (共 12 页)
-0.2679 -3.7321
5、求f(x)?x?10x?2?0在x0?0.5附近的根?
%牛顿迭代法 解方程y=x-10^x+2在x0=0.5附近的根 x0=0.5;
format long;
x=x0-f(x0)/f_(x0); if(abs(x)<0.5) delt=abs(x-x0); else
delt=abs((x-x0)/x); end
while(delt>1e-6|abs(f(x0))>1e-6) x0=x;
x=x0-f(x0)/f_(x0); if(abs(x)<0.5) delt=abs(x-x0); else
delt=abs((x-x0)/x); end
if f(x)==0 break end end
disp('解方程y=x-10^x+2,牛顿迭代法结果') x
function y=func1_1(x) y=x-10.^x+2;
运行结果如下:
解方程y=x-10^x+2,牛顿迭代法结果 x =
0.375812087593426
6、绘制函数图形:y1?sin(x),y2?cos(x)。要求: (1)x??0,2??; (2)数据采样间隔?/50? (3)设置网格; (4)添加图形标注;
第 5 页 (共 12 页)