MATLAB计算与仿真课程试卷+答案

合集下载

matlab考试题库及答案大学

matlab考试题库及答案大学

matlab考试题库及答案大学# MATLAB考试题库及答案大学一、选择题1. MATLAB中用于生成0到1之间均匀分布随机数的函数是: - A. rand- B. randi- C. randperm- D. randn答案:A2. 下列哪个命令可以用于绘制函数图像?- A. plot- B. text- C. title- D. xlabel答案:A3. MATLAB中,以下哪个不是矩阵的属性?- A. size- B. length- C. rank- D. transpose答案:D4. 以下哪个函数可以用于求解线性方程组?- A. solve- B. linsolve- C. linprog- D. fsolve答案:A5. MATLAB中,用于计算矩阵特征值的函数是:- A. eig- B. eign- C. eigen- D. eigenvalue答案:A二、填空题1. MATLAB的基本数据单位是________。

答案:矩阵2. 使用MATLAB进行数值计算时,可以利用________来存储数据。

答案:变量3. MATLAB中的向量可以是________或________。

- 答案:行向量;列向量4. 矩阵的转置可以通过________操作实现。

答案:.'5. MATLAB中,使用________函数可以计算矩阵的行列式。

答案:det三、简答题1. 简述MATLAB中使用循环结构的注意事项。

答案:在MATLAB中使用循环结构时,应注意以下几点:确保循环体内部逻辑正确,避免无限循环;使用for循环时,循环变量的初始化和步长设置要合理;使用while循环时,循环条件要明确,确保循环能够正常退出。

2. 描述MATLAB中如何实现数组的多维索引。

答案:在MATLAB中,多维数组的索引可以通过使用圆括号来实现,每个维度的索引用逗号分隔。

例如,对于一个三维数组A,可以使用A(i,j,k)来访问第i行、第j列、第k层的元素。

大学matlab考试题及答案

大学matlab考试题及答案

大学matlab考试题及答案大学MATLAB考试题及答案一、选择题1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Microsoft Advanced Tool SetD. Microprocessor Application Test System答案:A2. 在MATLAB中,以下哪个命令用于绘制三维图形?A. plotB. scatterC. surfD. bar答案:C3. MATLAB中用于求解线性方程组的函数是?A. solveB. linsolveC. linprogD. fsolve答案:A二、简答题1. 简述MATLAB的基本数据类型有哪些,并给出至少两个每种类型的示例。

答案:MATLAB的基本数据类型包括数值数组、字符数组和单元数组。

数值数组可以是向量、矩阵或多维数组。

例如,向量 `v = [1 2 3]`,矩阵 `M = [1 2; 3 4]`。

字符数组是由单引号或双引号括起来的字符序列,如 `C = 'Hello'`。

单元数组可以包含不同类型的数据,如`{1, 'text', [1; 2; 3]}`。

2. 描述如何在MATLAB中实现矩阵的转置和翻转。

答案:矩阵的转置可以通过 `'T'` 来实现,例如 `A'` 表示矩阵A 的转置。

矩阵的翻转可以通过 `flip` 函数实现,例如 `flip(A)` 可以翻转矩阵A的所有行和列,`flipud(A)` 仅翻转矩阵A的行,而`fliplr(A)` 仅翻转矩阵A的列。

三、编程题1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和以及平均值。

```matlabfunction [sumVal, avgVal] = calculateSumAndAverage(V)sumVal = sum(V);avgVal = mean(V);end```2. 设计一个MATLAB脚本来解决以下问题:给定一个3x3的矩阵,找出其中最大的元素,并显示其位置。

MATLAB语言:Simulink系统仿真习题与答案

MATLAB语言:Simulink系统仿真习题与答案

一、单选题1、将模块连接好之后,如果要分出一根连线,操作方法是()。

A.把鼠标指针移到分支点的位置,按住鼠标左键拖曳到目标模块的输入端B.双击分支点的位置,按住鼠标左键拖曳到目标模块的输入端C.把鼠标指针移到分支点的位置,按下Ctrl键并按住鼠标拖曳到目标模块的输入端D.把鼠标指针移到分支点的位置,按下Shift键并按住鼠标拖曳到目标模块的输入端正确答案:C2、在一个模型窗口上按住一个模块并同时按Shift键移动到另一个模型窗口,则()。

A.在两个模型窗口都有这个模块B.在后一个窗口有这个模块C.在前一个窗口有这个模块D.在两个窗口都有模块并添加连线正确答案:A3、为子系统定制参数设置对话框和图标,使子系统本身有一个独立的操作界面,这种操作称为子系统的()。

A.包装B.封装C.集成D.组合正确答案:B4、使用S函数时,要在模型编辑窗口添加()。

A.Sine Wave模块B.S-Program模块C.Subsystem模块D.S-Function模块正确答案:D二、多选题1、启动Simulink的方法有()。

A.在命令行窗口中输入simulink命令B.在“主页”选项卡中单击SIMULINK命令组中的“Simulink”命令按钮C.在“主页”选项卡中单击“文件”命令组中的“新建”命令按钮D.在“主页”选项卡中单击“文件”命令组中的“新建脚本”命令按钮正确答案:A、B、C2、根据控制信号的控制方式不同,条件执行子系统分为()。

A.事件驱动子系统B.使能子系统C.触发子系统D.使能加触发子系统正确答案:B、C、D3、以下关于S函数的描述中,正确的有()。

A.利用S函数可以对Simulink模块库进行扩充B.S函数只能用MATLAB语言编写C.S函数有现成的模板程序D.S函数模块能够被封装正确答案:A、C、D三、判断题1、建立系统仿真模型是在Simulink模型编辑窗口中进行的。

正确答案:√2、利用触发子系统能够将锯齿波转换为方波。

matlab考试试卷及答案

matlab考试试卷及答案

MATLAB 考试试卷及答案1、 用抛物法编程计算定积分⎰-=11)sin(3)(dx e x x I x 。

第一题编程如下:format longn=100;a=-1;b=1;inum=0;syms x fxfx=x^3*exp(sin(x));for i=1:nxj=a+(i-1)*(b-a)/n;xi=a+i*(b-a)/n;xk=(xi+xj)/2;fxj=subs(fx,'x',xj);fxi=subs(fx,'x',xi);fxk=subs(fx,'x',xk);inum=inum+(fxj+4*fxk+fxi)*(b-a)/(6*n);endinumintegrate=int(fx,0,1)integrate=double(integrate)2、 画出分段函数所表示的曲线:⎪⎪⎩⎪⎪⎨⎧-<-≤>==7107710710)(x x x x x f y ,要求曲线的第一分段用绿色点划线,第二分段用黑色虚线圆圈,第三分段用蓝色实线画出,给x轴加上标注“x 轴”,y轴加上标注“y轴”,给图形加上标题“分段函数f(x)”,给三个分段曲线添加图例说明,并加注网格线。

第二题编程如下:clear;clc;x=-10:0.1:10;y=10*x.*(x>7)+10/7*x.*(abs(x)<=7)-10*(x<-7);x1=x(1:30);y1=y(1:30);x2=x(31:170);y2=y(31:170);x3=x(171:201);y3=y(171:201);plot(x1,y1,'g.');hold on;plot(x2,y2,'k--');plot(x3,y3,'b');hold on;xlabel('x轴');ylabel('y轴');title('分段函数f(x)');grid on;legend('y=10','y=10/7*x','y=-10',2);3、对于给定的方程0=xxxf,-1-)(3=)2,0(之间的近似根,要求精确到小数点后四位。

MATLAB与控制系统仿真大作业

MATLAB与控制系统仿真大作业

>> G1=tf(num,den);
>> G1=zpk(G1)
G1 =
5 (s+0.6) ----------------(s+3) (s+2) (s+1)
>> num=[2 1]; den=[1 2.9 1]; G2=tf(num,den); >> G2=zpk(G2)
G2 =
2 (s+0.5)
>> xlabel('x') ylabel('exp(-2.*x)')
三、simulink 建模(每题 10 分,共 20 分)
1、已知单位负反馈的开环传递函数为 G(s) =
2 s2 + 4s
,试利用
simulink
建立系在单位阶跃输入作用下的模型。
要求答案包括:(1)simulink 建模结构图;
(2)在同一个坐标中的阶跃信号和响应曲线图。
2、已知系统的开环传递函数为
G1(s)
=
2s2 + 5s + 6 s2 + 2s + 3
、G2 (s)
=
s2
s+6 + 7s +1
,H
(s)
=
5(s + 2) s +10
求:建立 Simulink 仿真模型,并求出其系统在单位阶跃响应;
要求答案包括:(1)simulink 建模结构图;
x=
-2.9709
0.5491
3.6000
0.0509
2. 已知下列矩阵
2 3 1
−1 3 5
A
=

Matlab与系统仿真试题及答案

Matlab与系统仿真试题及答案

Matlab 与系统仿真试题及答案一、填空题(每空2分,共30分)1、单位取样序列定义为________________。

2、单位阶跃序列定义为__________________。

3、取样定理中,采样频率和原始信号频率之间至少应该满足公式_______________。

4、实现IIR 滤波器可以采用三种不同的结构:_______________、__________________和_______________。

5、对于理想的滤波特性()jwH e ,相应的()d h n 一般为无限时宽,从而使非因果的。

为此,使显示一般通过如下公式__________实现加窗处理,相应的傅里叶表达形式为_________________。

6、设计IIR 滤波器的基础是设计模拟低通滤波器的原型,这些原型滤波器有:_________、________和______________低通滤波器。

7、实现FIR 滤波器可以采用以下4中结构:________________,_______________,______________和____________。

二、阅读下列Matlab 程序,并回答完成的功能(每题5分,共10分)1、f=[00.60.61];m=[1100];b=fir2(30,f,m);[h ,w]=freqz(b,1,128);Plot(f,m,w/pi,abs)本段程序的功能是:2、[b ,a]=butter(9,300/500,’high’);Freqz(b,a,128,1000)本段程序的功能是:三、用Matlab 语言编程实现下列各小题(每小题15分,共60分)1、产生序列0.3,16p s A dB πΩ==55n -≤≤,并绘出离散图,标注图形标题为“Sequence in Example 3.1a”。

实现程序如下:2、设11()23X z z z-=++,212()2435X z z z z -=+++,求312()()()X z X z X z =+。

matlab开卷考试题及答案

matlab开卷考试题及答案

matlab开卷考试题及答案MATLAB开卷考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建一个3x3的单位矩阵的命令是:A. `eye(3)`B. `ones(3)`C. `zeros(3)`D. `identity(3)`答案:A2. 下列哪个函数用于计算矩阵的逆?A. `inv()`B. `det()`C. `eig()`D. `trace()`答案:A3. MATLAB中,用于绘制二维图形的函数是:A. `plot()`B. `surf()`C. `mesh()`D. `bar()`答案:A4. 如何在MATLAB中计算向量的范数?A. `norm()`B. `abs()`C. `length()`D. `size()`答案:A5. MATLAB中,用于创建一个随机数矩阵的函数是:A. `rand()`B. `randi()`C. `randn()`D. `randperm()`答案:A6. 下列哪个命令用于在MATLAB中求解线性方程组?A. `solve()`B. `fsolve()`C. `fzero()`D. `linsolve()`答案:A7. MATLAB中,用于计算矩阵的行列式的函数是:A. `det()`B. `trace()`C. `eig()`D. `inv()`答案:A8. 如何在MATLAB中创建一个全1的3x3矩阵?A. `ones(3,3)`B. `eye(3,3)`C. `zeros(3,3)`D. `rand(3,3)`答案:A9. MATLAB中,用于计算矩阵的特征值的函数是:A. `eig()`B. `eigs()`C. `svd()`D. `qr()`答案:A10. 下列哪个函数用于计算矩阵的奇异值分解?A. `eig()`B. `svd()`C. `qr()`D. `lu()`答案:B二、填空题(每题3分,共30分)1. MATLAB中,用于创建一个3x3的零矩阵的命令是 `____`。

MATlab 仿真部分习题答案

MATlab 仿真部分习题答案

[4.1]控制系统结构如图4.1所示(1)利用MATLAB对以上单位负反馈控制系统建立传递函数;(2)将第一问中求得的传递函数模型转化为零极点增益形式和状态空间形式。

解:(1)num=[2 2];den=[1 2 1];[num1,den1]=cloop(num,den);sys=tf(num1,den1)程序运行结果如下:Transfer function:2 s + 2-------------s^2 + 4 s + 3(2)[z,p,k]=tf2zp(num1,den1);g_zpk=zpk(z,p,k);[A,B,C,D]=zp2ss(z,p,k);g_ss=ss(A,B,C,D)程序运行结果如下:z = -1 p = -3 -1 k = 2a = x1 x2x1 -4 -1.732x2 1.732 0b = u1x1 1x2 0c = x1 x2y1 2 1.155d = u1y1 0K[5.1]设单位负反馈控制系统的开环传递函数为G(S)=+s(s^2+7s17)(1)试绘制k=10、100时闭环系统的阶跃响应曲线,并计算稳态误差、上升时间、超调量和过渡过程时间;(2)绘制k=1000时闭环系统的阶跃响应曲线,与k=10、100时所得的结果相比较,分析增益系数与系统稳定性的关系;解:(1)k=10时,K=100时,K=10时,利用MA TLAB工作区输入程序:num=[10];den=[1,7,17,0];[z,p,k]=tf2zp( num,den);运行得z,p,k的值p= -3.5+2.1794*i -3.5-2.1794*i k=10G=zpk([ ],[-3.5+2.1794*i,-3.5-2.1794*i],10);c=dcgain(G);[y,t]=step(G);plot(t,y)[Y,K]=max(y);timetopeak=t(k);percentovershoot=100*(y-c)/cn=1;while y(n)<c n=n+1;end risetime=t(n) i=length(t);while(y(i)>0.98*c&y(i)<1.02*c) i=i-1;End setllingtime=t(i) 运行程序结果为:稳定值c=0.5882,响应时间setllingtime=1.0096s,上升时间risetime=1.1989s,最大峰值时间timetopeak=1.4356,超调量percentovershoot=0.555% 同理得k=100时,稳定值c=5.882,响应时间setllingtime=1.0096s, 上升时间risetime=1.1989s,最大峰值时间timetopeak=1.4356,超调量percentovershoot=0.555%(3)k=1000时,由其响应曲线可知,增益系数越大,其稳定性越差。

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

一.简答题(每题5分,共40分)
1.数组运算和矩阵运算的运算符有什么区别?
答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。

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

3. 如何定义全局变量?
答:用关键字global可以把一个变量定义为全局变量,在M文件中定义全局变量时,如果在当前工作空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免发生这种情况,应该在使用变量前先将其定义为全局变量。

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

5. 如何在Simulink中进行指定仿真时间的操作?
选择Simulation菜单打开参数设置对话框,在Solver页面中第一项Simulation time 中通过输入开始时间和结束时间来确定仿真时间。

6. MATLAB的变量命名有什么规则?能用”NaN”来作为变量名吗,为什么?
答:变量可以包括数字、字母、下划线,必须以字母开头
可以,因为符合变量名命名规则
7. 简述MATLAB命令窗的主要作用?
答:命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。

是MATLAB提供给用户使用的管理功能的人机界面,其管理功能包括:管理工作空间中的变量、数据的输入输出的方式和方法,开发、调试、管理M 文件和M函数的各种工具。

8. 简述MATLAB桌面集成环境包括的7个窗口及其主要功能?
答:桌面是MATLAB的主要工作界面。

命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。

工作空间管理窗口用于显示当前计算机内存中MATLAB变量的名称、数学结构、该变量的字节数及其类型,可对变量进行观察、编辑、保存和删除。

命令历史窗口显示用户在命令窗口中所输入的每条命令的历史记录,并标明使用时间,这样可以方便用户查询。

当前目录窗口显示当前用户工作所在的路径。

Start菜单用于选择菜单中的命令执行MATLAB产品的各种工具,并且可以查阅MATLAB所含的各种资源。

编译窗口为用户提供了一个图形界面进行M文件的编写和调试。

二.编程题(每题10分,共60分)
1.编写M文件,使用for循环计算f=5^x,当f(x)>500就终止程序,在命令窗口中调用函数文件,求终止程序时f的值和n运行的值分别为多少?
解:
function[y]=f(x) % 2分
for x=1:00 % 4分
f=5^x
if f>500
f=z
n=x
break % 4分
end
end
2. 编写程序分别对符号表达式23
3546
f x y x y
=+-+的x和y求一阶微分。

解:smys x y % 2分
f=3*x^2+5*y^3-4*x+6*y; % 4分
dfdx=diff(f)% 对x求一阶微分% 2分
dfdy=diff(f,y)% 对y求一阶微分% 2分
3. 写出用黑色画出一条正弦虚线和一条余弦点划线,时间为0到2π并标记横坐标和纵坐标,并限定x轴和y轴的显示范围,并添加图例的步骤。

解:
x=0:pi/10:2*pi;
y1=sin(x);
y2=cos(x); %4分
plot(x,y1,’:b’,x,y2,’-.b’) % 2分
xlabel(‘x’)
ylabel(‘y’) %2分
axis([0 2*pi -1 1]) %2分
第1页(共2页)
legend('sin(x)','cos(x)');
4. 写出计算
693
275
A
⎡⎤
=⎢⎥
⎣⎦

241
468
B
⎡⎤
=⎢⎥
⎣⎦
的数组乘积C,而后删除C的第1、3两
列。

解:
A=[6 9 3;2 7 5]; % 2分
B=[2 4 1;4 6 8]; % 2分
C=A.*B% 3分
C(:,[1 3])=[] %3分
5.编写MATLAB程序,用三阶多项式来拟合数据,在同一图形窗口中绘制拟合前和拟合后两条曲线,并对图形坐标轴进行控制。

(每空2分)
clc;clear;close all; %清除命令窗口中的内容,清除工作空间中保持的变量,关闭所有的图形窗口。

x=[1, 2, 3, 4, 5];y=[5.1, 6.2, 7.0, 8.2, 9.3];
p=polyfit(x,y,3) ; %采用三阶多项式拟合
x2=1:0.1: 5;
y2=polyval(p,x2); %拟合后的曲线
figure(1)%指定1号图形窗
plot(x1,y1,’k -’,x2,y2,’r:’); %绘制曲线,用黑色实线画y1,用红色虚线画y2 m1 = max([y, y2]); m2 = min([y, y2]);
axis([0 6 m2 m1]); %用axis调制坐标轴,横坐标在[0 6]之间,且完全显示图形set(gca,’Xtick’,[ 1, 3, 5], ’Ytick’,[ 5, 7, 8],) %设置二维坐标刻度为x轴[1, 3, 5],y轴为[5, 7, 9]
title(‘多项式曲线拟合’); %加上标题“多项式曲线拟合”
xlabel('/itx');ylabel('/ity'); %加上横、纵坐标名“x”和“y”的斜体
legend(‘y1’,‘y2’); %绘制两条曲线所用线型、色彩或数据点形图例
6. 编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。

解:
function c=collatz(n) % 2分
% collatz
% Classic “3n+1” Ploblem from number theory c=n;
while n>1% 2分
if rem(n,2)==0% 2分
n=n/2;
else% 2分
n=3*n+1;
end
c=[c n]; % 2分
end
第2页(共2页)。

相关文档
最新文档