>"后面输入命令,这些命令会被立即执行。命令窗口也可以用来执行M文件。编辑/调试窗口是用来新建,修改或调试M文件的。图像窗口用来显示MATLAB的图形输出。2.列出几种不同的得到MATLAB帮助的方法。(1)在命令窗口中输入hel" />
当前位置:文档之家› MATLAB系统仿真试题复习资料,有答案及MATLAB课程设计实验体会

MATLAB系统仿真试题复习资料,有答案及MATLAB课程设计实验体会

PART I 教材复习要点

第一章MATLAB入门

测试1.1

1.MATLAB的命令窗口的作用是什么?编辑/调试窗口?图象窗口?

MATLAB命令窗口是MATLAB起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。命令窗口也可以用来执行M文件。编辑/调试窗口是用来新建,修改或调试M文件的。图像窗口用来显示MATLAB的图形输出。

2.列出几种不同的得到MATLAB帮助的方法。

(1)在命令窗口中输入help ,本命令将会在命令窗口中显示关于些命令的有信息。(2)在命令窗口中输入lookfor ,本命令将会在命令窗口中显示所有的在第一注释行中包含该关键字的命令和函数。(3)通过在命令窗口输入helpwin或helpdesk启动帮助浏览器,或者是在启动板中选择"Help"。帮助浏览器包含了基于超文本的MATLAB所有特性的描述,HTML或PDF格式的在线手册,这是MATLAB 最全面的帮助资源。

3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么?

工作区是命令、M文件或函数执行时被MATLAB使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos命令来查看,或者通过工作区浏览器来图形化地查看。

4.你怎样清空MATLAB 工作区内的内容?

要清除工作区的内容,只需在命令窗口中输入clear或clear variables即可。

第二章MATLAB基础

测试2.1

1.数组,矩阵,向量有什么区别?

数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面

圆括号里加上表示数据所在行和列的数字来访问。术语"向量"通常用来描述只有一维的数组,而"矩阵"通常用来描述二维或更多维的数组。

2.回答关于下列矩阵的有关问题

⎥⎥

⎥⎦

⎢⎢⎢⎣⎡--=0.05.56.03.11.36.01.16.06.04.32.31.1C

(a)C 的大小是多少?这是一个3×4数组; (b)C(2,3)的值是多少?c(2,3) = -0.6;

(c)列出值为0.6的元素的下标?数组中值为0.6的元素是c(1,4),c(2,1)和c(3,2)。

3.确定下列数组的大小,通过whos 或工作空间窗口(The workspace browser )检查你的答案。注意在本练习中后面的数组可能要用到前面数组的定义。

(a) u=[10 20*i 10+20] (b) v=[-1;20;3]

(c) w=[1 0 -9;2 -2 0;1 2 3] (d) x=[u' v] (e) y(3,3)=-7

(f) z=[zeros(4,1) ones(4,1) zeros(1,4)'] (g) v(4)=x(2,1)

数组大小分别是:(a) 1×3;(b) 3×1;(c) 3×3;(d) 3×2;(e) 3×3;(f) 4×3;(g) 4×1

4.w(2,1)的值是多少?w(2,1) = 2

5.x(2,1)的值是多少?x(2,1) = -20i

6.y(2,1)的值是多少? y(2,1) = 0

7.当语句(g )执行后,v(3)的值是多少?v(3) = 3

测试2.2

1. c 数组的定义如下,写出下面子数组的内容。 c =

1.1000 -3.2000 3.4000 0.6000 0.6000 1.1000 -0.6000 3.1000 1.3000 0.6000 5.5000 0 (a) c(2,:) (b) c(:,end) (c) c(1:2,2:end) (d) c(6)

(e) c(4:end) (f) c(1:2,2:4) (g) c([1 4],2) (h) c([2 2],[3 3])

答案:

(a) c(2,:) = [0.6 1.1 -0.6 3.1]

(b) d(:,4) = ⎣⎢⎢⎡⎦

⎥⎥⎤

0.63.10.0

(c) c(1:2,2:4) = ⎣⎢⎡⎦

⎥⎤

-3.2 3.40.61.1-0.63.1

(d) c(6) = 0.6

(e) c(4,end) = [-3.2 1.1 0.6 3.4 -0.6 5.5 0.6 3.1 0.0]

(f) c(1:2,2:end) = ⎣⎢⎡⎦⎥⎤

-3.2 3.40.61.1-0.63.1

(g) c([1 3],2) = ⎣⎢⎡⎦

⎥⎤

-3.20.6

(h) c([2 2],[3 3]) = ⎣⎢⎡⎦

⎥⎤

-0.6-0.6-0.6-0.6

2.当赋值语句执行后,下列数组的内容是多少? (a) a=[1 2 3; 4 5 6; 7 8 9]; a([3 1],:)=a([1 3],:); (b) a=[1 2 3; 4 5 6; 7 8 9]; a([1 3],:)=a([2 2],:); (c) a=[1 2 3; 4 5 6; 7 8 9]; a=a([2 2],:); 答案:

(a) a = ⎣⎢⎢⎡⎦⎥⎥⎤789456123 (b) a = ⎣⎢⎢⎡⎦

⎥⎥⎤

456456456 (c) a = ⎣⎢

⎡⎦

⎥⎤

45

6456

3.当数组执行后,下列数组a 的内容是多少? (a) a=eye(3,3); b=[1 2 3]; a(2,:)=b; (b) a=eye(3,3); b=[4 5 6 ]; a(:,3)=b'; (c) a=eye(3,3);

b=[7 8 9];

a(3,:)=b([3 1 2]);

答案:

(a) a = ⎣⎢⎢⎡⎦⎥⎥⎤100123001 (b) a = ⎣⎢⎢⎡⎦⎥⎥⎤104015006 (c) a = ⎣

⎢⎢

⎡⎦

⎥⎥⎤100010978

例2.1

假设a,b,c 和d 的定义如下

⎥⎦⎤⎢⎣⎡=1201a ⎥⎦⎤⎢⎣⎡-=1021b ⎥⎦

⎢⎣⎡=23c 5=d 分别指出下列表达式的运算结果 (a) a + b (b) a .* c (c) a * b (d) a * c (e) a + c (f) a + d (g) a .* d (h) a * d

答案: (a )

这是一个数组或矩阵加法:⎥⎦

⎣⎡=+2220b a 。 (b ) 这是一个数组乘法:⎥

⎦⎤

⎢⎣⎡-=1001*.b a 。 (c ) 这是一个矩阵乘法:⎥⎦⎤

⎢⎣⎡--=5221*b a 。

(d ) 这是一个矩阵乘法:⎥⎦

⎢⎣⎡=83*c a 。

(e ) 操作非法,两数组形不同 (f ) 数组与标量的加法:⎥⎦

⎢⎣⎡=+6756d a 。 (g )

数组乘法:⎥⎦⎤⎢

⎣⎡=51005

*.d a 。 (h ) 矩阵乘法:⎥⎦

⎤⎢

⎣⎡=51005

*d a 。 测试2.4

本测试提供了一个快速的检查方式,看你是否掌握了2.8和2.9的基本内容。如果

你对本测试有疑问,你可以重读2.8和2.9,问你的老师,或和同学们一起讨论。在附录B 中可以找到本测试的答案。

1.假设abcd 的定义如下,计算下面合法运算的结果,如果不合法,指出原因

⎦⎤

⎢⎣⎡-=2112a ⎥

⎦⎤

⎢⎣⎡-=1310b ⎥⎦

⎤⎢⎣⎡=21c

3-=d

(a) result = a .* c; (b) result = a * [c c]; (b) result = a .* [c c]; (d) result = a + b * c; (e) result = a + b .* c; 答案:

(a) 操作非法。数据相乘必须有相同形式,或者数组与标量之间相乘。 (b) 合法矩阵相乘:result = ⎣⎢

⎡⎦

⎥⎤

4433

(c) 合法数据相乘:result = ⎣⎢

⎡⎦

⎥⎤

21-24 (d) 操作非法。矩阵相乘b * c 产生一个 1×2数组,而a 是一个2×2数组,故相加非法。 (e) 操作非法。在两个不同大小的数组之间相乘b .* c 是非法的。

2.求矩阵x ,已知Ax=B,

⎥⎥

⎥⎦⎤

⎢⎢⎢⎣⎡-=101232121A

⎥⎥

⎥⎦

⎢⎢⎢⎣⎡=011B 结果可通过x = A/B 操作得到:x = ⎣⎢⎢⎡⎦

⎥⎥⎤

-0.51.0-0.5

练习2.1

看下面的数组回答有关问题

⎥⎥⎦

⎢⎢⎢

⎢⎣⎡----=0.01.10.01.54

.13.14.03.01.01.24.38.26.61.10

.00.65.31

.20.01.11array a. array1的大小是多少?

b. array1(4,1)的值是多少?

c. array1(:,1:2)的大小和值为多少?

d.

array1([1 3],end)的大小和值为多少?

2.2

下面的变量名那些合法那些不合法.为什么? a. dog1 b. 1dog c. Do_you_know_the_way_to_san_jose d. _help e. What's_up?

2.3

写出下面的数组的大小和内容.注意后面的数组可能根据前面数组的定义. a. a=1:2:5; b. b=[a' a' a'];

c. c=b(1:2:3,1:2:3);

d. d=a+b(2,:);

e. w=[zeros(1,3) ones(3,1)' 3:5'];

f. b([1 3],2)=b([3 1],2);

2.4

数组定义如下,写下面的子数组的内容

⎥⎥⎦

⎢⎢⎢

⎢⎣⎡----=0.01.10.01.54.13.14.03.01.01.24.38.26.61.10

.00.65.31

.20.01.11array a. array1(3,:)

b. array1(:,3)

c. array1(1:2:3,[3 3 4])

d. array1([1 1],:)

2.6

a,b,c 的定义如下,如果下面运算是合法的,那么写出结果,如果不合法,说出原因.

⎥⎦⎤⎢⎣⎡--=2122a

⎥⎦

⎤⎢⎣⎡-=2011b

⎥⎦

⎢⎣⎡-=21a

)2(eye d =

a. result=a+b;

b. result=a*d;

c. result=a.*d;

d. result=a*c;

e. result=a.*c;

f. result=a\b;

g. result=a.\b;

h. result=a .^ b;

2.9

求下列联立方程组中的各x 的值

.20.40.50.40.40.40.20.60.40.60.20.40.60.30.100.20.20.50.60.30.40.60.10.30.50.40.60.10.10.40.60.20.50.10.20.00.10.40.30.10.50.2654321654321654321654321654321654321-=-++++-=+-+++-=----+-=-+--+-=++---=-++++-x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

测试5.1

本测试提供了一个快速的检查方式,看你是否掌握了5.1到5.3的基本内容。如果你对本测试有疑问,你可以重读5.1到5.3,问你的老师,或和同学们一起讨论。在附录B 中可以找到本测试的答案。

1. 脚本文件与函数的区别是什么?

脚本文件是保存在文件中的MATLAB 语句集合。脚本文件共享命令窗口工作区,所以任何之前运行的脚本文件中定义的变量都能被当前脚本文件使用,脚本文件定义的变量在文件执行之后还保留在工作区中。脚本文件没有输入参数,也没有输出参数,不过脚本文件之间可以通过工作区交换数据。相反,每一个MATLAB 函数运行在它自己的独立工作区,函数通过输入参数列表获取输入数据,通过输出参数列表给调用者返回数据。

2. 自定义函数的help命令是如何工作的?

help命令显示某个函数的所有注释行,直到遇到空白注释行或执行语句为止。

3. 函数中的H1注释行有什么重要性?

H1注释行是文件中注释的第一行,这一行可以被lookfor命令搜索并显示。应该把该函数的用途摘要写在这一行中。

4. 什么是按值传递机制?它对结构化编程有什么好处。

在值传递机制中,每个输入参数的副本而不是参数本身从调用者传递给函数。这样设计可以避免输入数据在函数内被自由的修改,这可能并不是调用者实际上需要的,因而也为设计好程序提供保证。

5. 如何使MATLAB函数带有选择性参数。

MATLAB函数可以有任意数量的参数,并且并不是每次函数调用时,每个输出参数都必须具备。nargin函数用来确定函数被调用时实际提供了多少个参数,而nargout函数用来确定函数被调用后实际上有多少个输出参数。

第7,8题中,请你确定函数的调用是否正确。如果它是错误的,指出错误所在。

PART II 题型复习要点

一填空题:

1. MATLAB常用的4个操作界面(或窗口)有(指令窗口),(历史指令窗口),(当前目录浏览器)和(工作空间浏览器)。

2. MATLAB中的Inf或inf表示(无穷大),NaN或nan表示(非数),i或j表示(虚单元),eps表示(机器零阈值)。

3. MATLAB中的clc用于(清除指令窗内容),clf用于(清除图形窗),clear用于(清除工作空间里的内容)。

4. MATLAB中分号主要用作(数组行分隔符);(不显示运行结果指令);(指令行分隔符)。

5.MATLAB中用(回车或者enter)表示换行;如果要抑制显示结果,可在指令结束末尾加(分号或者“;”)符号。

6. 二维数组的标识有(“全下标”标识)(“单下标”标识)、(“逻辑1”标识)。

7. 一维数组的创建可以采用(逐个元素输入法)、(冒号生成法)、(定数线性采样法)。

8. 已知一个矩阵A,用全下标进行寻访,寻访它的第2行,第3列元素,可以用A(2,3)指令;寻访它的第2行的全部元素,可以用A(2,:)指令。

9. MATLAB语言最大的特点是(数值计算)和(可视化)。

10. 利用冒号运算符创建向量的基本语法如下:X = J:INC:K。其中J 为(向量的第一个元素),而K为(向量的最后一个元素),INC 为(向量元素递增的步长)。

二选择题

1.MATLAB是 C (A.MATrix LABoraty B.MATrex LABoratoy C.MATrix LABoratoy)的缩写,它是一种以矩阵运算为基础的程序语言,以A (A.解释B.编译)方式工作,键入程序立即得出结果,人机交互性能好。

2. MATLAB的变量名可以包括ACD(A.英文字母B.常用运算符C.下划线D.阿拉伯数字E.控制字符),并且第一个字符必须是A(A.英文字母B.常用运算符C.下划线D.阿拉伯数字E.控制字符)。MATLAB对大小写__C__(A.不敏感B.无关C.敏感),A和a被看作两个__B_(A.相同B.不同)的变量。

3. MATLAB预定义了一系列特殊变量,其中__D_代表圆周率,_F__代表机器零阈值(浮点数精度),__C_代表无穷大,__B_代表非数,__E_代表虚数单位。(A.ans B.NaN C.Inf D.pi E.i F.eps G.exp)

4.在MATLAB中,每一个变量都被认为是___B_(A.矩阵B.向量C.标量),每一个元素都被看作__B__(A.整数B.复数C.实数)。

5.下列哪些是MATLAB预定义的变量名A D E。(A.eps B.exp C.abs D.NaN E.ans)

6. 请指出下列变量名中,哪些是合法的B E。(A. abcd-2 B.abcd_2 C.2_abcd D.a变量E.ABCD2)

7. 数组运算是对数组中的元素逐个进行运算。下列属于矩阵运算有A

D G,属于数组运算有B C

E F。(A.∙* B.\ C.* D.∙\ E.^ F./ G.∙^)

8. B (A.非数B.空矩阵C.全零矩阵)是指没有任何元素的矩阵,对任意矩阵赋值该矩阵,可以使它的元素__B_(A.消失B.清零)。

9.下列__ABD___运算会产生非数数据。(A.0/0 B.∞/∞C.0×0 D.0×∞E.0-0)

10.产生对角线上为全1,其余为0的2行3列矩阵的命令是__C__ A.ones(2,3) B. ones(3,2) C. eye(2,3) D. eye(3,2)

11.符号计算中的关系运算包括 C D (A.> B.< C.= = D.~= E.>= F.<=)

12.当不指定变量时,MATLAB里的 C (A.sym B.syms C.findsym)函数可自动识别独立自变量;其中 A (A.x B.y C.X D.Y)是首选符号变量。13.已知a=0:4. b=1:5,下面的运算表达式出错的为 C 。(A.a+b B.a./b C.a’*b D.a*b)

14.2*pi*(0:10)/10指令执行后,产生的采样点个数为 C 个。(A.9 B.10 C.11 D.12)

15.想查看工作空间中的全部变量,下面哪些指令可以实现AC 。

(A.who B.class C.whos D.isa)

16. 下列关于主函数的说法正确的有 B C D。

(A.主函数必须与保存文件同名B.在指令窗或其它函数中可以直接调用C.在M函数文件中由第一个function引出D.每个函数文件中都必须有主函数)

17.在命令窗中键入__B_(A.fig B.figure C.clf D.figuer),会得到一个空白的图形窗。

18.命令窗的输入行具有文字处理相似的编辑功能:__C_(A.Space B.Alt C.ESC)键用来清除当前输入行,回到空白状态;__A_(A.↑B.↓C.←D.→)键可以调出上一行历史命令,_B_(A.↑B.↓C.←D.→)键调出下一行命令,在需要调出曾经键入过的命令、修改重新执行时,可大大提高效率。

19.在命令窗中键入指令r=(-8)^(1/3),得到r的结果为__B__。(A.-2.0000 + 0.0000i B.1.0000 + 1.7321i C.-1.0000 - 1.7321i D.1.0000 - 1.7321i)

三简答题

1.简述MATLAB命令窗的主要作用。

命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。是MATLAB提供给用户使用的管理功能的人机界面,其管理功能包括:管理工作空间中的变量、数据的输入输出的方式和方法,开发、调试、管理M文件和M函数的各种工具。2.简述MATLAB如何解释命令窗口输入的指令。

MATLAB搜索次序如下:检查名字是否为变量,如果是则显示变量,否则进行下一步;检查名字是否为内建函数,如果是,则执行该函数,否则进行下一步;检查名字是否为当前目录下的M文件,如果是,则执行该文件,否则执行下一步;检查名字是否为搜索路径上的M 文件,如果是,则执行该文件。

3.简述MATLAB函数的基本结构。

典型M函数文件的结构:函数申明(定义)行(Function declaration line)、H1行(The first help text line)、在线帮助文本(Help text)区、编写和修改记录、函数体(Function body)。

4.简述绘制二维图形的一般步骤。

绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。

5.典型M函数文件的结构包括哪几个部分?其中哪两部分是构成M 函数文件所必不可少的?

包括:函数申明行,H1行,在线帮助文本,编写和修改记录,和函数体。其中只有函数申明行和函数体是比不可少的。

6.指令clear,clc,clf各有什么作用?

clear:清除工作区间中的全部变量;(2分)

clc:清除指令窗中的全部内容;(2分)

clf:清除图形窗。(2分)

7. 数据可视化的一般步骤是什么?其中哪几步是必不可少的?

答:包括:数据准备,选定图形窗及子图位置,调用绘图指令,设置轴的范围和坐标方格线,图形注释,着色、明暗、灯光、材质处理(三维图形)。其中数据准备和调用绘图指令是必不可少的。

四:分析综合

1. clear; A=ones(3,3); A(4,5)=5

A=

1 1 1 0 0

1 1 1 0 0

1 1 1 0 0

0 0 0 0 5 2. A=zeros(2,4);A(:)=1:8

A=

1 3 5 7

2 4 6 8

s=[2 3 5];Sa=[10 20 30];

A(s)=Sa

A=

1 20 30 7

10 4 6 8

A(:,[2 3])=[ ]

A=

1 7

3.A=[1,2;3,4]; B=[-1,-2;2,1];

A.*B

ans=

-1 -4

6 4

A*B

ans=

3 0

5 -2

4. clear; D=reshape(1:9,3,3) D=

1 4 7

2 5 8

3 6 9

X= diag(D)

X=

1

5

9

10 8

5. A=[1,2;3,4]; B=[-1,-2;2,1];S=3;

A.*B

ans =

-1 -4 6 4

A*B

ans = 3 0

5 -2

五 编程题目 1、已知函数)4cos(2

/t e

y t -=。

(1)绘制在区间[0,4π]上的曲线。要求函数曲线用蓝色实线,包络用红色虚线,采样间隔为π/50。

(2)在原图上用黄色点划线叠绘)9sin(1t y =的图形

解:(1)clear; ___ t=0:π/50:4*π____; y0=exp(-t/2); y=_ y0.*cos(4*t)_ __; plot(t,y,'b-',t,[y0;-y0],'__r:_') (2) hold on ;

S.*A

ans =

3 6

9 12

S*B

ans =

-3 -6

6 3

y1=sin(9*t); plot(t,y1,’y-.’) hold off

2、设)

(22y x e

z +-=求定义域x=[-3,3],y=[-3,3]内的z 值,并画出

曲面图(网格取0.1见方)。

x=-3:0.1:3; y=x;

_[X,Y]=meshgrid(x,y)_ _; _Z=exp(-(X.^2+Y.^2)) _; 3.

请绘制出两条曲线y=sin(x)和y=cos(x),x 在0到2π之间。要求:

(1)加上网格线;(2)X 轴标注“Independent Variable X ”,Y 轴标注“Depentent Variable Y1&Y2”;(3)标题为“Sine and Cosine Curve ”;(4)在[1.5,0.3]处加标注“cos (x )”;(5)坐标轴控制:X 轴范围0到2π,Y 轴范围-0.9到0.9。

X=0:pi/10:2*pi; y1=sin(x); y2=cos(x); Plot(x, y1, x, y2); gird on

xlable (‘Independent Variable X ’); ylable (‘Dependent Variable Y); title (‘Sine and Cosine Curve ’);

text (1.5, 0.3, ‘cos(x)’); axis ([0 2*pi -0.9 0.9])

4. 画出2

2

22)

sin(y

x y x z ++=

所表示的三维曲面。y x ,的取值范围是]8,8[-

x=-8:0.5:8; %定义自变量x 的一维刻度向量 y=x;

%定义自变量y 的一维刻度向量

[X,Y]=meshgrid(x,y);

R=sqrt(X.^2+Y.^2); %计算中间变量22y x R +=

Z=sin(R)./R;

%计算相应的函数值R

R

z sin =

mesh(X,Y,Z); %或用surf(X,Y,Z);画图

5. 设)

(22y x xe

z +-=

(1)求定义域x=[-3,3],y=[-3,3]内的z 值,并画出曲面图(网格取0.1见方)。

(2)画出z1=0.05x-0.05y+0.1的曲面图,叠加在上图中。 解:(1) clear; x=-3:0.1:3; y=x;

[X,Y]=meshgrid(x,y);;

Z=X.*exp(-(X.^2+Y.^2));surf(X,Y,Z) (2) hold on

Z1=0.05*X-0.05*Y+0.1;

surf(X,Y,Z1) hold off

6. 绘制衰减振荡函数)4cos(2

/t e

y t -=在区间[0,4π]上的曲线及其包络。要求函数曲线用蓝色实线,包络用红色虚线,采样间隔为π/50。 解: clear; t=0:pi/50:4*pi; y0=exp(-t/2); y=y0.*cos(4*t); plot(t,y,'b-',t,[y0;-y0],'r:') grid

7. 在同一图上分别用红色实线和蓝色虚线绘制y1=x.*sin(x)和y2=cos(x).*x 在区间[0,4*pi]的曲线,采样点数为101,并进行坐标轴名(lable ),和图例说明(legend ),并打网线。 x=0:4*pi/100:4*pi; (1分) y1=x.*sin(x); (0.5分) y2=cos(x).*x; (0.5分) plot(x,y1,'r-',x,y2,'b:') (2分) xlabel('x'),ylabel('y')

legend('x*sin(x)','cos(x)*x') (1分) grid on; (1分)

六根据程序添加注释

1.clear;clf; %清工作空间,清图形窗

t=(pi*(0:1000)/1000)';y1=sin(t);y2=sin(10*t);

subplot(1,2,1),plot(t,y1); %将当前图形窗分成1×2幅子图,在第1幅图上画y1

axis([0,pi,-1,1]) %控制坐标轴范围,横坐标0到π,纵坐标-1到1 subplot(1,2,2),plot(t,y2); %将当前图形窗分成1×2幅子图,在第2幅图上画y2

axis([0,pi,-1,1])

2.clear;

t=2*pi*(0:20)/20; %在0到2*pi间取21个采样点

y=cos(t).*exp(-0.4*t);

stem(t,y,'g');

hold on; %保持当前图形,使以后的图形叠绘在当前图上stairs(t,y,'r');

hold off; %关闭叠绘

3、function y=polyadd(x1,x2) %定义函数名及调用格式

n1=length(x1);n2=length(x2); %测量两个输入多项式x1,x2的长度if n1>n2 x2=[zeros(1,n1-n2),x2]; %如果x1较长,则在x2前补0使与x1同长

elseif n1

end,y=x1+x2; %保证x1,x2同长后,相加课程设计实验体会学生姓名:X X X

学生学号:

专业班级:光信息科学与技术

指导老师:miss Chen

学院:信息工程学院

题目: MATLAB学期实验总结

MATLAB概念及介绍

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

matlab仿真心得体会.doc

matlab仿真心得体会 篇一:matlab心得体会 matlab心得体会 班级:电气08-3班 姓名:张强 学号:24 matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(m文件)后再一起运行。新版本的mATLAb语言是基于最为流行的c++语言基础上的,因此语法特征与c++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是mATLAb能够深入到科学研究及工程计算各个领域的重要原因。 在对升压-降压(boost-buck)式变换器电路理论分析的基础上,建立基于Simulink的升压-降压式变换器的仿真模型 直流斩波就是将直流电压变换成固定的或可调的直流电压,也称dc/dc 变换。使用直流斩波技术,不仅可以实现调压的功能,而且还可以达到改善网侧谐波和提高功率因数的目的。升压-降压式变换电路即升降压斩波电路,主要应用于已具有直流电源需要调节直流电压的场合。升压-降压式变换器电路 图如右图1-1所示。

设电路中电感L值很大,电容 c值也很大,使电感电流iL和电容 电压u0基本为恒值。 设计原理是:当可控开关V出于通态时,电源经V向电感L供电使其贮存能 量,此时电流为i1,方向如图1-1中所示。同时,电容c维持输出电压基本恒定并向负载R供电。此后,使V关断,电感L中贮存的能量向负载释放,电流为i2,方向如图1-1中所示。可见,负载电压极性为上负下正,与电源电压极性相反,因此该电路也称作反极性斩波电路。 稳定时,一个周期T内电感L两端电压uL对时间的积分为零,当V 处于通态期间时,uL=E;而当V处于端态期间时,uL=- 出电压为u0。于是,EtonU0toff=,所以输 U=tontoffαE=βE 其中β=1-α,若改变导通比α,则输出电压既可以比电源电压高,也可以比电源电压低。当0<α<0.5时为降压,当0.5<α<1时为升压,如此可以实现升压-降压的变换,该电路称作升降压斩波电路即升降压变换器。 图1-2中给出了电源电流i1和负载电流 i2的波形,设两者的平均值分别为I1和I2, 当电流脉动足够小时,有I1ton tI2=off 可得如下

MATLAB语言与控制系统仿真-参考答案-第5章

控制系统的时域响应MATLAB 仿真实训 实训目的 1. 学会利用MATLAB 绘制系统的单位阶跃响应曲线,掌握读取系统动态性能指标的方法; 2. 学会利用MATLAB 绘制系统的单位脉冲响应曲线的方法; 3. 掌握利用MATLAB 绘制系统的零输入响应曲线的方法; 4. 掌握利用MATLAB 绘制系统的一般输入响应曲线的方法; 5. 学会通过仿真曲线读取相关信息,并依据有关信息进行系统的时域分析。 实训内容 1.编写程序求取下列各系统的单位阶跃响应,完成表5-5并记录相关曲线。 162.316)(21++= s s s G 16 4.216 )(22 ++=s s s G 166.116)(2 3++=s s s G 1616 )(24++=s s s G 解:>> n1=16; >> d1=[1,,16]; >> sys1=tf(n1,d1); >> step(sys1) >> n2=16; >> d2=[1,,16]; >> sys2=tf(n2,d2); >> step(sys2)

>> n3=16; >> d3=[1,,16]; >> sys3=tf(n3,d3); >> step(sys3) >> n4=16; >> d4=[1,1,16]; >> sys4=tf(n4,d4); >> step(sys4)

表5-5 序号 ξ n ω m ax c p t s t (%5=?) 计算值 实验 计算值 实验 计算值 实验值 1 4 2 4 3 4 4 4 w=4; cmax1=1+exp(-z1*pi/sqrt(1-z1^2)); tp1=pi/(w*sqrt(1-z1^2)); ts1=(z1*w); [cmax1,tp1,ts1] ans = >> z2=;

MATLAB与控制系统仿真实验

《MATLAB及控制系统仿真》 实验指导书 (2011年第一版) 西安邮电学院自动化学院 2011年6月

目录 前言 (1) MATLAB语言实验项目 (3) 实验一熟悉MATLAB集成环境及基础运算 (3) 实验二 MATLAB的基本计算 (7) 实验三 MATLAB图形系统 (9) 实验四 MATLAB程序设计 (13) 实验五 MATLAB函数文件 (15) 实验六MATLAB数据处理及多项式计算 (17) 实验七 SIMULINK仿真实验 (21)

前言 MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想的集成环境。是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。 MATLAB由于其完整的专业体系和先进的设计开发思路,使得 MATLAB 在多种领域都有广阔的应用空间,特别是在科学计算、建模仿真以及系统工程的设计开发上已经成为行业内的首选设计工具,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB软件工具在自动化专业、测控技术及仪器和电气工程及其自动化等专业的本科生学习中,经常用来计算、仿真和设计,尤其是MATLAB软件的仿真功能,能使学生对所学知识有更加深入的理解和分析。《MATLAB及控制系统仿真》课程,和《自动控制原理》、《现代控制理论》、《数字信号处理》、《电力电子技术》等重要的专业课程相互支撑、相辅相成,同时也有利于学生完成课程设计和毕业设计等实践教学环节。 本实验指导书共设置了12个实验项目,分别从MATLAB工作环境熟悉、MATLAB 的基本计算、MATLAB绘图功能、MATLAB基本程序设计、SIMULINK仿真实验、滤波器设计及仿真、控制系统仿真及电力电子系统仿真等实验项目,通过选取的上机实验,可使学生更好的熟悉MATLAB软件的功能,掌握MATLAB程序设计的一般方法,培养学生的应用开发能力。 每个实验2个小时左右,不同的专业可根据需求自行选择。

matlab实验心得体会

matlab实验心得体会 在过去的一学期里,我参与了控制工程学院的实验课程。这个学期,我们学习了MATLAB编程语言,并应用它来进行实验。通过这次实验,我学到了很多知识,并且体会到了MATLAB 的强大功能。 首先,在实验课中,我学会了如何使用MATLAB进行数值计算。我学会了如何定义变量,进行基本的数学运算,并在命令窗口中输出结果。我还学会了如何使用数组和矩阵来进行向量和矩阵运算。通过这些实验,我对MATLAB的基本语法和表 示方法有了更深入的了解。 其次,我学习了如何在MATLAB中绘制图形。我学会了如何 使用plot函数来绘制一维和二维图形,并使用不同的参数来 调整图形的样式。我还学会了如何使用subplot函数来在同一 张图上绘制多个图形。通过这些实验,我可以使用MATLAB 来直观地表示数据,并在实验中提供有用的信息。 此外,我学习了如何使用MATLAB进行信号处理。通过实验,我了解了常用的信号处理方法,如滤波、傅里叶变换和频谱分析。我还学会了如何使用MATLAB的信号处理工具箱来进行 更复杂的信号处理任务。通过这些实验,我对信号处理的原理和方法有了更深入的了解,并且知道如何使用MATLAB来实 现这些方法。 在这个学期的实验中,我还学习了如何使用MATLAB进行系 统建模和仿真。通过实验,我学会了如何使用MATLAB的控

制工具箱来建立系统模型,并使用仿真工具来模拟系统的运行和响应。我也学会了如何使用MATLAB的优化工具箱来优化 系统的性能。通过这些实验,我对系统建模和仿真有了更深入的了解,并掌握了使用MATLAB进行模型分析和设计的技巧。 综上所述,通过这个学期的实验,我学到了很多有关 MATLAB的知识和技能,并且对MATLAB的功能有了更深 入的了解。我发现MATLAB是一个非常强大和灵活的工具, 可以应用于各种工程和科学领域。通过学习和使用MATLAB,我不仅能够更方便地进行数值计算、绘制图形、进行信号处理和进行系统建模和仿真,而且还能够提高我的工程分析和设计能力。我相信在未来的学习和工作中,MATLAB将帮助我更 高效地解决实际问题。

Matlab学习心得与体会

Only in boiling water, tea can develop the rich aroma of life.简单易用轻享办公(页眉可删) Matlab学习心得与体会 Matlab学习心得与体会 篇一:MATLAB学习心得 一.对MATLAB的认识 正如课本《MATLAB教程及实训》中的前言所说,MATLAB是MathWords公司于1984年开发的,目前已经发展成国际上最流行、应用最广泛的科学与工程计算软件之一。MATLAB集合矩阵云运算、数值分析、图形显示和仿真等于一体,被广泛应用于自动控制、数学运算、计算机技术、图像信号处理、汽车工业、语音处理等行业。MATLAB它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB主要应用于数学计算、系统建模与仿真、数学分析与可视化、科学与工程制图和用户界面设计等。 目前,MATLAB已经成为应用代数、自动控制理论、数字信号处理、动态系统仿真和金融等专业的基本数学工具,各国高校纷纷将MATLAB正式列入本科生和研究生课程的教书计划中,成为学生必须掌握的软件之一。

MATLAB是matrix laboratory的缩写,它的产生是与数学计算有密切的关系。从1980年发展到现在已经是一个交互式开发系统,其基本数据要素是矩阵。MATLAB系统是由MATLAB开发环境和MATLAB语言,MATLAB数学函数库、MATLAB图形处理系统和MATLAB应用程序接口(APL)5部分组成。 MATLAB的有以下特点 1运算功能强大 2编程效率高3强大而智能化的作图功能 4可扩展性强 5Simulink 动态仿真功能 二.我对MATLAB的掌握程度 在短课时选择了本书1、2、3、4、5、7章的内容学习 1. MATLAB R20__a软件的概述(略)。 2. MATLAB常见字符及基本运算 在本人的自主学习以及老师的授课下我已经初略的掌握了MATLAB R20__a的基本使用方法:MATLAB R20__a的开发环境、MATLAB R20__a的其他管理、MATLAB的文件处理工具、MATLAB R20__a的帮助系统 (1)数据类型 数组:字符型、数值型、元胞型、结构体型、Java型和函数句柄,其中数值型有包括单精度型和双精度型。

MATLAB控制系统仿真实验报告

清华大学自动化工程学院 实验报告 课程:控制系统仿真 专业自动化班级 122 姓名学号 指导教师: 时间: 2015 年 10 月 19 日— 10 月 28 日

目录 实验一 MATLAB环境的熟悉与基本运算 (1) 实验二 MATLAB语言的程序设计 (6) 实验三 MATLAB的图形绘制 (9) 实验四采用SIMULINK的系统仿真 (14) 实验五控制系统的频域与时域分析 (17) 实验六控制系统PID校正器设计法 (23)

实验一 MATLAB环境的熟悉与基本运算 一、实验时间及地点: 实验时间:2015.10.19上午8:30—9:30 实验地点:计算中心 二、实验目的: 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算 三、实验内容: 1、新建一个文件夹(自己的名字命名,在机器的最后一个盘符) 2、启动MATLAB6.5,将该文件夹添加到MATLAB路径管理器中。 3、保存,关闭对话框 4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指 令eye(其它不会用的指令,依照此方法类推) 5、学习使用clc、clear,观察command window、command history和workspace等窗口的 变化结果。 6、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。 注意:每一次M-file的修改后,都要存盘。 练习A: (1)help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果 (2)学习使用clc、clear,了解其功能和作用 (3)输入一个2维数值数组,体会标点符号的作用(空格和逗号的作用)。 (4)一维数组的创建和寻访,创建一个一维数组(1×8)X,查询X数组的第2个元素,查询X数组的第3个元素到第6个元素,查询X数组的第5个元素到最后 一个元素,查询X数组的第3、2、1个元素,查询X数组中≤5元素,将X数 组的第2个元素重新赋值为111,实例expm1。 (5)二维数组的创建和寻访,创建一个二维数组(4×8)A,查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素, 查询数组A按列拉长形成新的数组B(1×8),查询数组A按行拉长形成新的数 组C(1×8),以全元素赋值的方式对数组A赋值。 (6)两种运算指令形式和实质内涵的比较。设有3个二维数组A2×4,B2×4,C2×2,写出所有由2个数组参与的合法的数组运算和矩阵指令 (7)学习使用表8列的常用函数(通过help方法) (8)学习使用表9数组操作函数 (9)学习字符串的创建,a='This is an example.'

Matlab与系统仿真试题及答案

Matlab与系统仿真试题及答案 Matlab 与系统仿真试题及答案 一、填空题(每空2分,共30分) 1、单位取样序列定义为________________。 2、单位阶跃序列定义为__________________。 3、取样定理中,采样频率和原始信号频率之间至少应该满足公式_______________。 4、实现IIR 滤波器可以采用三种不同的结构:_______________、__________________和_______________。 5、对于理想的滤波特性()jw H 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

MATLAB课程设计报告实验体会

课程设计实验体会 学生姓名:李祥胜 学生学号: 20120704 专业班级:光信息科学与技术 指导老师: miss Chen 学院:信息工程学院 题目: MATLAB学期实验总结

MATLAB概念及介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB集成环境主要包括五个部分:MATLAB语言、MATLAB工作环境、句柄图形、MATLAB数学函数库和数学建模、小波分析、MATLAB API(App lication Program Interface)。MATLAB语言是以数组为基本数据单位,包括控制流程语句、函数、数据结构、输人输出及面向对象等特点的高级语言。利用SIMULINK对系统进行仿真与分析,在进入虚拟实验环境后,不需要书写代码,只需使用鼠标拖动库中的功能模块并将它们连接起来,再按照实验要求修改各元器件的参数。通过虚拟实验环境建立实验仿真电路模型,可使一些枯燥的电路变得有趣味,复杂的波形变得形象生动,使得各种复杂的能量转换过程比较直观地呈现。 1.1、MATLAB语言特点及优势 1.1.1、语言特点 MATLAB被称为第四代计算机语言,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB 给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。 (1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。 (2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。 (3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。 (4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。 (6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,

自动实验一——典型环节的MATLAB仿真 报告

班级 姓名 学号 XXXXXX 电子与信息工程学院实验报告册 课程名称: 自动控制原理 实验地点: 实验时间 同组实验人: 实验题目: 典型环节的MATLAB 仿真 一、实验目的: 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、实验原理及SIMULINK 图形: 1.比例环节的传递函数为 2 21211()2100,200Z R G s R K R K Z R =-=-=-== 其对应的模拟电路及SIMULINK 图形如图1-3所示。 2.惯性环节的传递函数为 2211211212()100,200,110.21R Z R G s R K R K C uf Z R C s =-=-=-===++ 其对应的模拟电路及SIMULINK 图形如图1-4所示。 3.积分环节(I)的传递函数为 uf C K R s s C R Z Z s G 1,1001.011)(111112==-=-=-= 其对应的模拟电路及SIMULINK 图形如图1-5所示。 图1-5 积分环节的模拟电路及及SIMULINK 图形 图1-4 惯性环节的模拟电路及SIMULINK 图形

4.微分环节(D)的传递函数为 uf C K R s s C R Z Z s G 10,100)(111112==-=-=-= uf C C 01.012=<< 其对应的模拟电路及SIMULINK 图形如图1-6所示。 5.比例+微分环节(PD )的传递函数为 )11.0()1()(111212+-=+-=-=s s C R R R Z Z s G uf C C uf C K R R 01.010,10012121=<<=== 其对应的模拟电路及SIMULINK 图形如图1-7所示。 6.比例+积分环节(PI )的传递函数为 )11(1)(11212s R s C R Z Z s G +-=+-=-= uf C K R R 10,100121=== 其对应的模拟电路及SIMULINK 图形如图1-8所示。 三、实验设备: 计算机 Matlab 软件 四、试验内容: 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G ; ② 惯性环节11)(1+= s s G 和1 5.01)(2+=s s G ③ 积分环节s s G 1)(1= ④ 微分环节s s G =)(1 ⑤ 比例+微分环节(PD )2)(1+=s s G 和1)(2+=s s G 图1-6 微分环节的模拟电路及及SIMULINK 图形 图1-7 比例+微分环节的模拟电路及SIMULINK 图形 图1-8 比例+积分环节的模拟电路及SIMULINK 图形曲线

matlab实验心得体会

matlab实验心得体会 matlab实验心得体会(一) 学习matlab是听说它是一个功能强大的数学软件,但是正被微积分的计算缠身,听说有一个高级的计算器当然高兴,以后可以偷懒了,当然现在不能偷懒。听说关于自动化的计算特别复杂,如果有一种软件能帮忙解题,那是一种极大的解脱,有益于缩短研究时间。目前我只知道有三种数学软件,都是国外的,没有国内的,差距挺大的。matlab学起来挺顺手的,比C语言简单。但是深入学习的时候却困难重重,因为很多知识都没有学习,就算知道那些函数,也没有什么用处。老师布置的作业难度大,写一篇实验,大一什么都不会,写一篇这种论文谈何容易。最多也就会一些数值计算、符号计算、简单绘图,根本不会什么实验。 学习matlab体会最多的是这个软件的功能强大,好多数学题都被轻易的解出。但是有一点遗憾,不知是我不会用,还是它没个功能,已知空间的电荷分布,求空间的电场分布。其中电场分布是无法用函数表达式表示。我知道计算机肯定可以实现,但是这个软件能不能实现就不知道了,我看过许多资料,但是在这方面没有提到相关信息。 总之,这个软件功能强大,不知什么时候国内才有类似的软件。 matlab实验心得体会(二) 我从中国石油大学(北京)来到大庆油田勘探开发研究院实习,刚刚来到这里时我内心充满了激动和喜悦,对这个有着辉煌成绩的科研单位充满了期待。到了这里没多久我就参加培训中心组织的入院教育,对研究院的辉煌过去有了更深刻的了解,那时我就下定决心在研究院好好实习,多学习一些现场经验,为以后的工作打下良好的基础。 一个月的入院培训结束后,经过自己申请和中心安排我被分到了地震资料处理一室,实习期间地震一室的副主任陈志德是我的现场导师,陈主任有着丰富的理论知识和现场经验,能够成为他的学生我感到非常的高兴。最初他把我分到了高分辨率处理解释项目组,工作内容主要是跟着项目组成员用landmark 做一些解释性的工作,期间我跟着张晶师傅学习到了如何加载地震数据和测井

MATLAB与仿真系统课程设计报告

MATLAB与仿真系统课程设计报告

自动化专业课程设计报告 《MATLAB与仿真系统课程设计报告》 -----模型仿真 班级:自动化09-1 姓名:许丹阳 学号:0918120123 时间:2011年12月12号至12月16号 地点:电信实验中心EDA机房 指导教师:崔新忠 大连海洋大学信息工程学院 自动化研究室

目录 1 课程设计的目的与要求 (3) 1.1 课程设计目的 (3) 1.2 课程设计要求 (3) 2 课程设计课题的分析 (3) 3课程设计的内容和安排 (3) 4 课程设计的步骤 (4) 4.1 根轨迹的概述 (4) 4.2 根轨迹的基本概念 (4) 4.3 举例 (5) 5 课程设计的结果 (10) 6课程设计的心得和体会 (11) 7 参考文献 (11)

大连海洋大学课程设计报告纸学院: 专业班级: 姓名: 学号: 一、课程设计的目的与要求 1、课程设计目的: (1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。 (2)通过课程设计提高应用能力,为专业课的学习打下基础。 (3)培养查阅资料的习惯,训练和提高独立思考和解决问题的能力。 (4)对选定模型仿真,培养知识综合运用能力和技巧。 2、课程设计要求 从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: (1)能够正确理解课程设计的题目和意义,全面思考问题。 (2)运用科学合理的方法,认真按时完成。 二、课程设计课题的分析 既然根轨迹是系统特征方程的根随着某个参数变动 在s平面上移动的轨迹,那么,根轨迹的形状不同,闭

环特征根就不同,系统的性能就不一样。工程上,为了改善系统的性能,往往需要对根轨迹进行改造。 从前面的分析可知,系统根轨迹的形状、位置完全取决于系统的开环传递函数中的零点和极点。因此,可通过增加开环零、极点的手段来改造根轨迹,从而实现改善系统性能的目的。 根据根轨迹的绘制法,增加开环零、极点和偶被子对系统根轨迹的影响总结如下。 三、课程设计的内容与安排 根据所学知识,设计系统并建立数学模型,选择适当的模块,进行仿真试验,并对所建立的模块合理封装。时间安排参考如下教学时间安排 教学安排 周一布置任务,查阅资料 周二设计 周三设计 周四仿真、调试 周五验收、总结报告 四、课程设计的步骤 开环零、极点对根轨迹的影响 (一)根轨迹概述

MATLAB与系统仿真2及答案

MATLAB与系统仿真2及答案 一、填空题(2’×18=36’) 1、Matlab系统由、、、 和5大部分组成。 2、Matlab的基本运算符包括、、等。 3、在Matlab编辑器中运行程序的快捷键是:。 4、函数rand表示:;randn函数表示:; size函数表示:。 5、实现Fourier变换在Matlab中的对应函数为:;Laplace变换 的函数:。 6、函数M文件的有效第一行的执行标识为:。 7、通常程序调试有两种方法:和利用。 8、Matlab提供的图形用户界面开发环境是:。 二、简答题(6’×4=24’) 1、在命令行中输入“save Filename1 a b”表示? 2、分析以下函数执行过程,回答问题: function c = testarg1(a, b) if (nargin == 1) c = a .^ 2; elseif (nargin == 2) c = a + b; end 如果用户使用一个参数调用函数testarg1,函数执行什么功能?如果使用两个参数调用函数testarg1,函数又执行什么? 3、打开和关闭文件的函数是什么?分别说明其作用。 4、新建Simulink仿真模型文件的方法是什么?

三、程序设计及分析(6’ ×6+4’=40’) 1、 编程实现函数3()25f x x x =--的根? 2、 将下列字符矩阵S 转换为数字矩阵('1''2''3''4'S ⎡⎤ =⎢⎥⎣⎦ )? 3、 把矩阵A ,B 分别在垂直方向,水平方向连接,A=[1 2 3],B=[4 5 6]? 4、 求()1020x f x x =-+=在00.5x =附近的根? 5、 编程实现一元二次方程20ax bx c ++=? 6、 绘制函数图形:1sin(),2cos()y x y x ==。要求:(1)[]0,2x π∈;(2)数据采 样间隔/50π?(3)设置网格;(4)添加图形标注;(5)两幅图叠加在一张图中。 模拟试题B 及答案 一、 填空题(2’×18=36’) 9、Matlab 系统由Matlab 开发环境、Matlab 语言、Matlab 数学函数库、Matlab 图形处理系统和Matlab 应用程序接口5大部分组成。 10、 Matlab 的基本运算符包括算术运算、逻辑运算、关系运算等。 11、 在Matlab 编辑器中运行程序的快捷键是:F5。 12、 函数rand 表示:生成随机数组,数组元素值均匀分布;randn 函数表示: 生成随机数组,数组元素值正态分布;size 函数表示:返回数组的行数和列数。 13、 实现Fourier 变换在Matlab 中的对应函数为:fourier();Laplace 变换的函 数:Laplace()。 14、 函数M 文件的有效第一行的执行标识为:Function 。 15、 通常程序调试有两种方法:直接调试法和利用Matlab 调试工具进行调 试?

matlab仿真心得体会

matlab仿真心得体会 【篇一:matlab心得体会】 matlab心得体会 班级:电气08-3班 姓名:张强 学号:24 matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(m文件)后再一起运行。新版本的matlab语言是基于最为流行的c++语言基础上的,因此语法特征与c++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是matlab能够深入到科学研究及工程计算各个领域的重要原因。 在对升压-降压(boost-buck)式变换器电路理论分析的基础上,建立基于simulink的升压-降压式变换器的仿真模型 直流斩波就是将直流电压变换成固定的或可调的直流电压,也称dc/dc变换。使用直流斩波技术,不仅可以实现调压的功能,而且还可以达到改善网侧谐波和提高功率因数的目的。升压-降压式变换电路即升降压斩波电路,主要应用于已具有直流电源需要调节直流电压的场合。 升压-降压式变换器电路 图如右图1-1所示。 设电路中电感l值很大,电容 c值也很大,使电感电流il和电容 电压u0基本为恒值。 设计原理是:当可控开关v出于通态时,电源经v向电感l供电使其贮存能 量,此时电流为i1,方向如图1-1中所示。同时,电容c维持输出电压基本恒定并向负载r供电。此后,使v关断,电感l中贮存的能量向负载释放,电流为i2,方向如图1-1中所示。可见,负载电压极性为上负下正,与电源电压极性相反,因此该电路也称作反极性斩波电路。

matlab实验内容答案

实验报告说明: matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。 第一次实验内容: 实验一 MATLAB 运算基础 一、实验目的 1.熟悉启动和退出MA TLAB 的方法。 2.熟悉MA TLAB 命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握MA TLAB 各种表达式的书写规则以及常用函数的使用。 二、实验内容 1.先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。 (1)22sin 8511z e ︒ =+ (2 )1 2ln(2z x =+,其中2120.455i +⎡⎤ =⎢⎥-⎣⎦ (3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a a e e z a a --=+=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。 (4)2 22 0141 122123 t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩ ,其中t =0:0.5:2.5 提示:用逻辑表达式求分段函数值。 2.已知

12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤ ⎢⎥=⎢⎥ ⎢⎥-⎣⎦ 求下列表达式的值: (1)A+6=B 和A-B+I(其中I 为单位矩阵)。 (2)A*B 和A.*B 。 (3)A^3和A^.3 。 (4)A/B 和B\A 。 (5)[A ,B]和[A([1,3],;);B^2] 。 3.设有矩阵A 和B 12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 3 1617690 2349 7041311B ⎡⎤⎢⎥-⎢ ⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦ (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D (3) 查看MA TLAB 工作空间使用情况。 4.完成下列操作: (1)求[100,999]之间能被21整除的数的个数。 提示:先利用冒号表达式,再利用find 和length 函数。 (2)建立一个字符串向量,删除其中的大写字母。 提示:利用find 函数和空矩阵。 第二次实验内容: 实验三 选择结构程序设计 一、实验目的 1. 掌握建立和执行M 文件的方法。 2. 掌握利用if 语句实现选择结构的方法。 3. 掌握利用switch 语句实现多分支选择结构的方法。 4. 掌握try 语句的使用。 二 、实验内容

MATLAB系统仿真试题复习资料,有答案

PART I 教材复习要点 第一章 MATLAB 入门 测试1.1 1.MATLAB 的命令窗口的作用是什么?编辑/调试窗口?图象窗口? MATLAB 命令窗口是MATLAB 起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。命令窗口也可以用来执行M 文件。编辑/调试窗口是用来新建,修改或调试M 文件的。图像窗口用来显示MATLAB 的图形输出。 2.列出几种不同的得到MATLAB 帮助的方法。 (1)在命令窗口中输入help ,本命令将会在命令窗口中显示关于些命令的有信息。(2)在命令窗口中输入lookfor ,本命令将会在命令窗口中显示所有的在第一注释行中包含该关键字的命令和函数。(3)通过在命令窗口输入helpwin 或helpdesk 启动帮助浏览器,或者是在启动板中选择"Help"。帮助浏览器包含了基于超文本的MATLAB 所有特性的描述,HTML 或PDF 格式的在线手册,这是MATLAB 最全面的帮助资源。 3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么? 工作区是命令、M 文件或函数执行时被MATLAB 使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos 命令来查看,或者通过工作区浏览器来图形化地查看。 4.你怎样清空MATLAB 工作区内的内容? 要清除工作区的内容,只需在命令窗口中输入clear 或clear variables 即可。 第二章MATLAB 基础 测试2.1 1.数组,矩阵,向量有什么区别? 数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。术语"向量"通常用来描述只有一维的数组,而"矩阵"通常用来描述二维或更多维的数组。 2.回答关于下列矩阵的有关问题 ⎥⎥ ⎥⎦ ⎤ ⎢⎢⎢⎣⎡--=0.05.56.03.11.36.01.16.06.04.32.31.1C (a)C 的大小是多少?这是一个3×4数组; (b)C(2,3)的值是多少?c(2,3) = -0.6; (c)列出值为0.6的元素的下标?数组中值为0.6的元素是c(1,4),c(2,1)和c(3,2)。 3.确定下列数组的大小,通过whos 或工作空间窗口(The workspace browser )检查你的答案。注意在本练习中后面的数组可能要用到前面数组的定义。 (a) u=[10 20*i 10+20] (b) v=[-1;20;3] (c) w=[1 0 -9;2 -2 0;1 2 3] (d) x=[u' v] (e) y(3,3)=-7

Matlab与控制系统仿真部分习题答案

【4.2】程序: num=[5,0];den=conv([1,1],conv([1,2],[1,3])); [numc,denc]=cloop(num,den); [z,p,k]=tf2zp(numc,denc); [A,B,C,D]=tf2ss(numc,denc); g_zp=zpk(z,p,k) g_tf=tf(numc,denc) g_ss=ss(A,B,C,D) 运行结果: Zero/pole/gain: 5 s ---------------------------------- (s+0.4432) (s^2 + 5.557s + 13.54) Transfer function: 5 s ---------------------- s^3 + 6 s^2 + 16 s + 6 a = x1 x2 x3 x1 -6 -16 -6 x2 1 0 0 x3 0 1 0 b = u1

x1 1 x2 0 x3 0 c = x1 x2 x3 y1 0 5 0 d = u1 y1 0 【4.3】程序: A=[0 0 0 -1;1 0 0 -2;0 1 0 -3;0 0 1 -4]; B=[0;0;0;1]; C=[1 0 0 0]; g_ss=ss(A,B,C,D) [num,den]=ss2tf(A,B,C,D); g_tf=tf(num,den) [z,p,k]=ss2zp(A,B,C,D); g_zpk=zpk(z,p,k) 运行结果: a = x1 x2 x3 x4 x1 0 0 0 -1 x2 1 0 0 -2 x3 0 1 0 -3 x4 0 0 1 -4

matlab学习心得体会

matlab学习心得体会 篇一:MATLAB心得与体会 自己刚刚接触matlab有半个学期的时间,说实话我现在对MATLAB还是摸不着头脑,一方面是自己接触的时间太短,另一方面,就是自己在上机方面投入的时间有限,实践比较少。现在,我对MATLAB的印象仅仅在解决习题和绘制图形上,但是我很喜欢MATLAB的简单的语法,易于绘制图形,编程也非常容易, 并且具有功能强大的开放式的toolbox。因此,尽管我一直没有这方面的应用,但是我还是对它非常感兴趣,自己正打算暑假好好研究研究MATLAB。下面是我学习MATLAB在理论和实践方面的一点心得与体会,可能有些地方自己理解的不是很正确,但是随着学习的深入,我想我可以发现自己的错误所在。 首先我想说的是,在理论方面,在学习MATLAB过程中,我感觉到它和c语言有许多相似之处,他有c语言的特征,但是比c语言编程计算更加简单,适合于复杂的数学运算。但是MATLAB跟其他语言也有着很大的不同。现在用的比较多的编程语言,除了MATLAB就应该是c、c++、VHDL,VB 和Delphi也接触过,如果自己抱着“把其他语言的思想运用在MATLAB里面”的话,那么我想,即使程序运行不出错,也很难把握MATLAB的精髓,也就很难发挥MATLAB的作用了。众所周知MATLAB是一个基于矩阵运算的软件,但是,真正

在运用的时候,特别是在编程的时候,许多人往往没有注意到这个问题。在使用MATLAB时,受到了其他编程习惯的影响,特别是经常使用的C语言。因此,在MATLAB编程时,for循环(包括while循环)到处都是。.这不仅是没有发挥MATLAB所长,还浪费了宝贵的时间。我这里想说的一点是,往往在初始化矩阵的时候注意到这个问题,懂得了使用矩阵而不是循环来赋值,但是,在其他环节上,就很容易疏忽,或者说,仍然没有摆脱C++、C的思想。 MATLAB博大精深,涉及的内容很多,所以,我认为不要试图掌握MATLAB的每一个功能,熟悉和你专业最相关的部分就可以了,这也是老师在课堂上经常说的。学MATLAB并不难,难的是学会怎么用,所以经常上机实践是很必要的。我自己感觉学习MATLAB和以前的编程能力没有太多的关系,所以不要担心自己编程能力差,自己一定用不好MATLAB,只要自己肯在这上面花费时间和精力,就一定能有所收获。在学习MATLAB的过程中,不要只问不学,并且学MATLAB要有耐心,要大胆的去试,哪怕只有一丁点儿可能,只有自己动手去实践了才能发现错误的所在,利用这个解决问题的方法要试着解决类似的问题,要举一反三,要学会变通。多读MATLAB高手写的程序,找到一个高手多向他请教这方面的问题,在几个大的论坛可以搜索出一大堆的帖子,然后慢慢去看吧,从中可以学到很多东西。善于总结,学习过的知识,

相关主题
文本预览
相关文档 最新文档