MATLAB试卷+答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 6 页 (共 12 页)
0.4 0.2 0 -0.2 -0.4 2 1 0 -1 -2 -2 -1 0 1 2
如果 z=x.*exp(-x.^2-y.^2);结果如下: 分析:该程序的作用是以 x,y 为自变量,z 为因变量,画出 3 维曲面
0.5
0
-0.5 2 1 0 -1 -2 -2 -1 0 1 2
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7 y1=sin(x) y2=cos(x)
7、分析以下程序执行后的效果? x=-2:0.2:2; y=x; [x,y]=meshgrid(x,y); z=x.*exp(-x.^2-x.^2); mesh(x,y,z); 题干可能有误:如果 z=x.*exp(-x.^2-x.^2);结果如下:
运行结果如下: 解方程 y=x-10^x+2,牛顿迭代法结果 x= 0.375812087593426 6、绘制函数图形: y1 sin( x ), y 2 cos( x ) 。要求: (1) x 0, 2 ; (2)数据采样间隔 / 50 ? (3)设置网格; (4)添加图形标注;
第 2 页 (共 12 页)
函数文件 两
( 2) 、M 函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清除 , 而命令 文件的变量是全局变量 , 执行完毕后仍被保存在内存中 (3) 、M 函数文件要定义函数名 , 且保存该函数文件的文件名必须是函数名 .m 。M 函 数文件可以有多个因变量和多个自变量 , 当有多个因变量时用[ ] 括起来。 三、程序设计及分析(1-2 每题 4’,3-9 每题 5’,10 题 20’,共 63’) 1、将下列字符矩阵 S 转换为数字矩阵( S
8、在同一图上分别用红色实线和绿色虚线绘制 y1=sin(x) 和 y2=cos(x) 在区间 [0, 4*pi] 的曲线,并用星号*标出两条曲线的交点以及标注图例。 (要求附上运行结果)
第 7 页 (共 12 页)
clear clc x=0:pi/100:4*pi; y1=sin(x); y2=cos(x); plot(x,y1,'r-'); hold on plot(x,y2,'g--'); for i=1:length(x) delt=abs(y1(i)-y2(i)); if delt<=1e-2 hold on plot(x(i),y1(i),'k*'); end end legend('y1=sin(x)','y2=cos(x)','Á½ÇúÏß½»µã');
>>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 页)
3、编程实现函数 f ( x ) x 2 x 5 的根?
6
3
>>p=[1 0 -2 -5 ]; >> x=roots(p) x =
4、编程实现一元二次方程 ax bx c 0 ? 程序如下:
2.0946 -1.0473 + 1.1359i -1.0473 - 1.1359i
2
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]
学习中心/函授站_ 姓 名 学 号
西安电子科技大学网络与继续教育学院
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
第 8 页 (共 12 页)
10、已知矩阵 n=10+自己的真实学号, A (aij ) nn , aij i j ,试编写一个 m 文件完 成以下问题: (要求附上程序运行结果) (1)求 A 的行列式; (2)求 A 的秩; (3)画出 A 的每个行向量的图形; (4)查看 A 的大小(即行、列数) ; (5)计算 A 的第 11 行与第 11 列的乘积; (6)用一个二次函数去拟合 A 的最后一行向量,画出图形; (7)计算 A 的每行的和,用条形图把该和向量描绘出来,加上轴标签和图形标题; (8)计算 A 的特征值和特征向量; (9)计算 A 的迹、逆和范数; (10)查看 A * A 的右下角元素 ann 的值。 ( A 为 A 的转置矩阵) 自己的真实学号如实输入就 OK 了,这里假设学号是 5,到时候自己改
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 2 4 6 8 10 12 14 y1=sin(x) y2=cos(x) 两曲线交点
9、编写一个实现 n 阶乘的函数。
function [s] = fun(n) s = 1; for i = 1:n s = s * i; end
第 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 脚本文件文件没有参数 与返回结果
运行结果如下:
求方程:a*x^2+b*x+c=0的解 请输入a,b,Βιβλιοθήκη Baidu的值: a=1 b=4 c=1 该方程有两个不相等的实数根 x =
第 4 页 (共 12 页)
5、求 f ( x ) x 10 2 0 在 x0 0.5 附近的根?
-0.2679 -3.7321
x
%牛顿迭代法 解方程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;
第 5 页 (共 12 页)
(5)两幅图叠加在一张图中。 程序如下:
运行结果如下:
clear clc x=0:pi/50:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'r'); hold on plot(x,y2,'b'); grid on legend('y1=sin(x)','y2=cos(x)');
'1' ' 2 ' )? '3' ' 4 '
>>S=[' 1 ' ' 2 ';' 3 ' ' 4 '] S = 1 3 2 4
%输入字符矩阵
>>N=str2num(S) %将字符矩阵转换为数字矩阵 N = 1 3 2 4
2、把矩阵 A,B 分别在垂直方向,水平方向连接,A=[1 2 3],B=[4 5 6]?
相关文档
最新文档