新编实验指导书资料Word文档格式.docx
- 文档编号:22174388
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:37
- 大小:445.96KB
新编实验指导书资料Word文档格式.docx
《新编实验指导书资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《新编实验指导书资料Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
who%列出工作空间中变量
Yourvariablesare:
aansbc
whos%列出工作空间中变量,同时包括变量详细信息
NameSizeBytesClass
a1x18doublearray
ans1x18doublearray
b1x18doublearray
c1x324doublearray
Grandtotalis6elementsusing48bytes
savetest%将工作空间中变量存储到test.mat文件中
loadtest%从test.mat文件中读取变量到工作空间中
clc%清除命令窗口中内容
clear%清除工作空间中变量
help函数名(回车)%对所选函数的功能、调用格式及相关函数给出说明
which显示指定的外部函数(M文件)所在的目录
如:
whichabc
则系统会显示文件abc所在的目录
what列出指定目录下的M文件、MAT文件、MEX文件和Class
lookfor查找具有某种功能的函数但却不知道该函数的准确名称
lookforLyapunov可列出与Lyapunov有关的所有函数。
3.MATLAB的矩阵、变量、表达式及其基本运算
1)注意创建矩阵的原则、方法;
2)注意变量命名规则、表达式写法;
3)MATLAB中的基本运算。
例:
a=[103;
0–16;
1–21],b=[-100;
2–31;
050.3]
矩阵运算:
a+ba-ba*ba.*ba/ba^2a.^2
关系运算:
a>
ba<
=ba==b
逻辑运算:
a&
ba|b~bxor(a,b)
按照以上运算实际执行,观察运行结果,体会各种运算规则
4.特殊运算符
1)“;
”——不显示运算结果
在命令空间中输入a=10;
或a=10观察运行结果。
2)“:
”——生成向量
1:
10——生成向量[12345678910]
A=[123;
456;
789];
运行A(1:
9)A(:
1:
2)A(:
[1,3])A(2,3)A(4,5)A(2,:
)
观察运行结果。
5.MATLAB的常用函数的使用练习
(1)sincosasinacostanatan等
exploglog10log2pow2sqrt等
absanglerealimag
fixfloorceilremsignround
(2)detinvrankeigexpmtrace
(3)allanyfindisemptyisinf
andornotxor
(4)zerosoneseyerandnrand
rot90fliplrflipuddiagtriltriureshape
各函数的用法不清楚时,请使用help命令。
三、实验报告要求:
1)要求做实验前写出实验准备报告,将要求练习的内容列出具体的上机实例。
可以广泛查阅参考书来写。
2)针对根据实验内容的第五项写出上机的结果,体会其用法。
3)指令窗口中,键入:
demo,出现MATLAB的demo演示窗口,然后选择:
MATLAB下的DesktopEnvironment,选取其中的Desktopoverview等示例进行MATLAB的桌面系统学习。
4)教材16~17页:
3、4、7、8、11题。
实验二MATLAB数值计算
1、掌握特殊矩阵的实现方法,
2、矩阵的特征值与特征向量的求法,行列式的值的求法,数组的寻访,线性方程和线性方程组的求解。
3、掌握MATLAB语言中对矩阵的一些操作和计算。
常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角形矩阵等,这类特殊矩阵在线性代数中具有通用性;
还有一类特殊矩阵在专门学科中有用,如有名的希尔伯特(Hilbert)矩阵、范德蒙(Vandermonde)矩阵等。
MATLAB提供的内部函数eig可以用来计算特征值与特征向量,det可用来计算矩阵的行列式的值。
设矩阵A为一方阵(必须是方阵),求矩阵A的行列式值的格式为:
det(A)。
4、矩阵求逆及其线性代数方程组求解
三、实验报告要求
1、已知向量v=[1;
2;
3]
,试建立以向量v作为主对角线的对角阵A。
2、已知矩阵A=[123;
456]
,试从矩阵A分别提取主对角线及主对角线的两侧的对角线构成向量B、C和D。
3、A=[123;
456;
789;
987],分别用triu(A)、triu(A,1)和、triu(A,-1)从矩阵A提取相应的上三角部分构成上三角阵B、C和D。
4、求A的特征值和相应的特征向量
A=
5、用inv函数求4题中方阵A的逆阵A-1赋值给B,且验证A与A-1是互逆的。
6、求解线性方程组AX=B。
其中A=
,B=
7、求方程x^4+7x^3+9x-20=0的全部根。
8、在命令窗口中,键入:
MATLAB下的Matrices,依次选取其中的BasicMatrixoperation、Matrixmanipulation两个示例,进行MATLAB矩阵运算的学习。
9、教材37~38页:
1*、2*、3、4*、5*、7题。
(*号题为必做题)
实验三MATLAB的图形绘制
1.了解MATLAB中图形窗口与坐标系;
2.掌握MATLAB绘图的基本方法,熟悉各种绘图函数的使用;
3.掌握图形的修饰方法和标注方法;
4.掌握图形的修改方法。
1.了解图形窗口与坐标系的概念
MATLAB图形窗口如下:
窗口的设置:
axis([0,2,0,4])
axissquare
2.二维图形的绘制
(1)plot函数的多种调用方法:
plot(y)y为向量
plot(t,y)t为向量、y为矩阵
plot(t,y)t、y为矩阵
y=[00.62.358.311.71517.719.420];
plot(y)
(2)多组变量绘图:
plot(x1,y1,选项1,x2,y2,选项2,……)
上面的plot格式中,选项是指为了区分多条画出曲线的颜色、线型及标记点而设定的曲线的属性。
MATLAB在多组变量绘图时,可将曲线以不同的颜色、不同的线型及标记点表示出来。
这些选项如下表所示:
各种颜色属性选项
选项
意义
‘r’
红色
‘m’
粉红
‘g’
绿色
‘c’
青色
‘b’
兰色
‘w’
白色
‘y’
黄色
‘k’
黑色
各种线型属性选项
‘-’
实线
‘--’
虚线
‘:
’
点线
‘-.’
点划线
各种标记点属性选项
‘.’
用点号绘制各数据点
‘^’
用上三角绘制各数据点
‘+’
用‘+’号绘制各数据点
‘v’
用下三角绘制各数据点
‘*’
用‘*’号绘制各数据点
‘>
用右三角绘制各数据点
‘。
用‘。
’号绘制各数据点
‘<
用左三角绘制各数据点
‘s’或squar
用正方形绘制各数据点
‘p’
用五角星绘制各数据点
‘d’或diamond
用菱形绘制各数据点
‘h’
用六角星绘制各数据点
注意掌握各选项的作用与用法以及holdon与holdoff的用法。
(3)对数坐标图形绘制
semilogx()semilogy()loglog()
(4)极坐标图形绘制
polar(theta,rho,‘属性选项’)
(5)子图绘制
掌握subplot()的用法。
subplot(n,m,k)或subplot(nmk)------n,m分别表示将窗口分割的行数和列数。
3.图形修饰与标注
图形标记:
title('
加图形标题'
);
xlabel('
加X轴标记'
ylabel('
加Y轴标记'
text(3.5,0.8,'
添加文本'
设定坐标轴:
axis([xminxmaxyminymax])设定最大和最小值
axis('
auto'
将坐标系统返回到自动缺省状态
square'
将当前图形设置为方形
equal'
两个坐标因子设成相等
off'
关闭坐标系统
on'
显示坐标系统
subplot函数
特殊坐标图形:
双对数坐标、单对数坐标、极坐标图。
4.三维图形的绘制
plot3函数;
mesh函数;
surf函数。
1.设计出上面要求的各种练习的具体例子,写出程序;
2.通过下面习题熟悉各绘图函数应用
(1)用MATLAB语言实现下面的分段函数,并绘出(-3,6)区间上的曲线图形(数据点个数自定,但应保证曲线平滑性)。
要求曲线为蓝色、线型为实线,并且标注X轴、Y轴
(2)用MATLAB语言绘制[-2π,2π]区间内sinθ、cosθ曲线,数据点间隔0.1弧度。
要求分上下两个子图分别绘制sinθ、cosθ,并且sinθ用红色、实线,cosθ用兰色、虚线,对图形标题及横纵坐标轴进行标注。
3.在[02π]范围内绘制二维曲线图y=sin(x)*cos(5x)。
4.在[02π]范围内绘制二维曲线图。
y=|1000sin(4x)|+1
5.在[–6,2]范围内用plot和fplot函数分别绘制二维曲线图。
6.绘制z=sin(x)*cos(y)的三维网格和三维曲面图,x,y变化范围均为[0,2π]。
7、命令窗口中,键入:
MATLAB下的Graphics,依次选取其中的OverviewofFeatures(playback)、2-DPlots、3-DPlots两个示例,了解MATLAB有关绘图的操作。
8、教材第3章(64-65页):
1、2*、3*题。
教材第一题的部分程序如下:
方法一:
t=0:
0.2:
18;
xi=[0.2:
0.8]'
;
beta=sqrt(1-xi.^2);
sita=atan(beta./xi);
y=1-exp(-xi*t).*sin(beta*t+sita*t)./(beta*t);
plot(t,y(1,:
),'
r'
),holdon
plot(t,y(2,:
b'
plot(t,y(3,:
g'
plot(t,y(4,:
k'
)
方法二:
forxi=0.2:
0.8
beta=sqrt(1-xi^2);
sita=atan(beta/xi);
fort=0:
18
y=1-exp(-xi*t)*sin(beta*t+sita)/beta;
plot(t,y,'
holdon
end
实验四MATLAB语言的程序设计
1.掌握一些矩阵运算的基本函数应用方法
2.熟悉MATLAB程序编辑与设计环境
3.掌握各种编程语句语法规则及程序设计方法
4.会编写程序M文件和函数M文件
5.初步掌握程序的调式方法
1.掌握以下矩阵操作函数
实际给定一些数据后,使用各种函数计算,观察运算结果:
det(方阵的行列式)
inv(矩阵的逆)
norm(矩阵或矢量的范数)
rank(矩阵的秩)
trace(矩阵的迹)
eig(矩阵的特征值和特征矢量)
expm(矩阵指数)
logm(矩阵对数)
zeros(n)生成nxn的零阵
zeros(n,m)生成n行m列的零阵
ones(n,m)生成n行m列的全1阵
eye(n)生成nxn的单位阵
randn(n,m)生成元素为正态分布随机阵
x=[]生成空矩阵
2.熟悉MATLAB程序编辑与设计环境
M文件编辑器界面如下:
要求:
1)简单程序的编写与运行。
(自己找实例:
程序M文件与函数M文件)
2)熟练掌握各种程序控制语句。
循环语句:
for循环,while循环
条件语句:
ifelseelseif
分支语句:
switch
continue和break语句
3)通过实际程序编制及执行,深入理解程序M文件与函数M文件的区别。
3.初步掌握程序的调式方法
1)直接调试法
利用echo命令;
在程序的适当位置添加keyboard命令;
设置或去掉断点等。
keyboard命令:
在程序中加入keyboard命令,可暂停程序运行,将控制权交给键盘,此时可显示程序中变量的值或对其进行修改,完成后键入return命令返回。
2)调试器的使用
Debug菜单说明:
(有相应的快捷键)
Step单步运行
Stepin单步运行,遇到函数时进入函数,仍单步运行
Stepout如果是在函数中,跳出函数;
如果不在函数中,直接运行到下一个断点处
SaveandRun存储文件并开始运行,如文件是已存储过的,则该菜单变为Run,当程序暂停在断点处时,该菜单项变为Continue
GoUntilCursor直接运行到光标所在位置
ExitDebugMode退出调试方式
以一个自己编写的程序为例,按上面方法调试。
1.求1~100的和。
2.求n的阶乘。
3.输入20个数,求其中最大数和最小数。
要求用循环结构输入数据,然后调用MATLAB的max函数、min函数来实现。
(strcat是实现字符串串联的命令)
4.Fibonacci数列(1.1.2.3.5.8.13…),就是数列中从第三项开始,任意一个数都是它前两数之和的数列。
编制程序,使得运行程序后,输入大于2的数n就可以输出Fibonacci数列的前n项。
实验五数据处理方法
1、掌握基本统计处理方法,如对数据进行批处理,找寻最值等。
2、多项式运算与求根方法。
3、数组的排序及翻转。
使用查取最大值命令,查取最小值命令,求中值命令,求和命令,求平均值命令,求积命令。
多项式求根命令,命令格式:
x=roots(A);
建立多项式命令,命令格式:
A=poly(x);
求多项式的值,命令格式:
Y=polyval(A,x)
多项式的四则运算,加、减、乘、除。
实验题目:
1.已知某班的5名学生的三门课成绩列表如下:
学生序号12345
高等数学7889647368
外语8377807870
MATLAB语言8291788268
试写出有关命令,先分别找出三门课的最高分及其学生序号;
然后找出三门课总分的最高分及其学生序号。
2.针对上小题的成绩表,求出其三门课总分存入数组ZF,再利用SORT命令对之按降序排序,同时把相应的学生序号存入数组XH。
3.今有多项式P1(x)=x^4-2x+1,P2(x)=x^2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2,…,5)值。
4.试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。
如N=5,原来x为:
x=[13579]
而经过颠倒处理后x中数据的次序应该为:
x=[97531]
上述实验题目1、2、3、4。
参考程序:
1.
x1=[7889647368];
x2=[8377807870];
x3=[8291788268];
x4=[7889647368;
8377807870;
8291788268];
x5=sum(x4,1);
[y1,l1]=max(x1)
[y2,l2]=max(x2)
[y3,l3]=max(x3)
[y4,l4]=max(x5)
2.
x=[7889647368;
ZF=sum(x,1)
[ZF,XH]=dsort(ZF)
3.
p1=[100-21];
p2=[0014-0.5];
p=p1+p2
i=(0:
5);
x=0.2*i;
y=polyval(p,x)
4.
x=[13579];
y=fliplr(x)
实验六线性系统的数学模型
1.掌握控制系统数学模型的基本描述方法;
2.了解控制系统的稳定性分析方法;
3.掌握控制系统频域与时域分析基本方法。
1.系统数学模型的几种表示方法
(1)传递函数模型
num=4*conv([1,2],conv([1,6,6],[1,6,6]));
den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));
表示下列传递函数模型
(2)零极点模型
G(s)=
将零点、极点及K值输入即可建立零极点模型。
z=[-z
-z
…,-z
]
p=[-p
-p
…,-p
]
k=k
多项式求根的函数:
roots()
调用格式:
z=roots(a)
其中:
z—各个根所构成的向量a—多项式系数向量
两种模型之间的转换函数:
[z,p,k]=tf2zp(num,den);
(或[z,p,k]=tf2zpk(num,den))
[num,den]=zp2tf(z,p,k)
(3)状态方程模型
A=[01;
-1–2];
B=[0;
1];
C=[01];
D=0;
s=ss(A,B,C,D);
系统状态方程转换为系统零极点模型及传递函数模型的函数。
[num,den]=ss2tf(A,B,C,D,iu)
%iu—表示输入的序号(对多输入系统)
[z,p,k]=ss2zp(A,B,C,D,iu)
%[z,p,k]—表示对第iu个输入信号的传递函数的零极点。
[A,B,C,D]=tf2ss(num,den)
[A,B,C,D]=zp2ss(z,p,k)
(4)feedback()函数:
系统反馈连接
sys=feedback(s1,s2,sign)
2.控制系统的稳定性分析方法
(1)求闭环特征方程的根;
(2)化为零极点模型,看极点是否在s右半平面;
(3)对状态空间形式(闭环),求A阵的特征值eig(A);
判断如下系统的稳定性:
可编程如下:
numg=1;
deng=[11223];
numf=1;
denf=1;
[num,den]=feedback(numg,deng,numf,denf,-1);
roots(den)
3.控制系统根轨迹绘制
rlocus()函数:
功能为求系统根轨迹
rlocfind():
计算给定根的根轨迹增益
sgrid()函数:
绘制连续时间系统根轨迹和零极点图中的阻尼系数和自然频率栅格线
4.控制系统频域分析基本方法
(1)B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编 实验 指导书 资料