Matlab语言基本知识docWord文件下载.docx

上传人:b****5 文档编号:20312559 上传时间:2023-01-21 格式:DOCX 页数:25 大小:481.25KB
下载 相关 举报
Matlab语言基本知识docWord文件下载.docx_第1页
第1页 / 共25页
Matlab语言基本知识docWord文件下载.docx_第2页
第2页 / 共25页
Matlab语言基本知识docWord文件下载.docx_第3页
第3页 / 共25页
Matlab语言基本知识docWord文件下载.docx_第4页
第4页 / 共25页
Matlab语言基本知识docWord文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Matlab语言基本知识docWord文件下载.docx

《Matlab语言基本知识docWord文件下载.docx》由会员分享,可在线阅读,更多相关《Matlab语言基本知识docWord文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

Matlab语言基本知识docWord文件下载.docx

ANS

默认变量名,以应答最近一次操作运算结果

realmin

最小的正实数

i或j

虚数单位

INF(inf)

无穷大

pi

圆周率

NAN(nan)

不定值(0/0)

eps

浮点数的相对误差

nargin

函数实际输入参数个数

realmax

最大的正实数

nargout

函数实际输出参数个数

MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符

表2MATLAB算术运算符

操作符

+

\

矩阵左除

-

.\

数组左除

*

矩阵乘

/

矩阵右除

.*

数组乘

./

数组右除

^

矩阵乘方

'

矩阵转置

.^

数组乘方

.'

数组转置

表3MATLAB关系运算符

==

等于

~=

不等于

大于

<

小于

=

大于等于

小于等于

表4MATLAB逻辑运算符

逻辑运算符

逻辑运算

说明

&

and

逻辑与

|

or

逻辑或

~

not

逻辑非

xor

逻辑异或

表5MATLAB特殊运算

符号

功能说明示例

1:

4;

2:

11

.

分隔行

..

分隔列

()

%

注释

[]

构成向量、矩阵

调用操作系统命令

{}

构成单元数组

用于赋值

3.MATLAB的一维、二维数组的访问

表6子数组访问与赋值常用的相关指令格式

指令格式

指令功能

A(r,c)

数组A中r指定行、c指定列之元素组成的子数组

A(r,:

数组A中r指定行对应的所有列之元素组成的子数组

A(:

c)

数组A中c指定列对应的所有行之元素组成的子数组

数组A中各列元素首尾相连组成的“一维长列”子数组

A(i)

"

一维长列"

子数组中的第i个元素

A(r,c)=Sa

数组A中r指定行、c指定列之元素组成的子数组的赋值

)=D(:

数组全元素赋值,保持A的行宽、列长不变,A、D两组元素总合应相同

4.MATLAB的基本运算

表7两种运算指令形式和实质内涵的异同表

数组运算

矩阵运算

指令

含义

A.'

非共轭转置

A’

共轭转置

A=s

把标量s赋给A的每个元素

s+B

标量s分别与B元素之和

s-B,B-s

标量s分别与B元素之差

s.*A

标量s分别与A元素之积

s*A

标量s分别与A每个元素之积

s./B,B.\s

标量s分别被B的元素除

s*inv(B)

B阵的逆乘s

A.^n

A的每个元素自乘n次

A^n

A阵为方阵,自乘n次

A.^p

对A各元素分别求非整数幂

A^p

方阵A的非整数乘方

A+B

对应元素相加

矩阵相加

A-B

对应元素相减

矩阵相减

A.*B

对应元素相乘

A*B

内维相同矩阵相乘

A./B

A的元素别B的对应元素除

A/B

A右除B

B.\A

与上相同

B\A

A左除B

exp(A)

以自然数e为底,分别以A的元素为指数,求幂

expm(A)

A的矩阵指数函数

log(A)

对A的各元素求对数

logm(A)

A的矩阵对数函数

sqrt(A)

对A的各元素求平方根

sqrtm(A)

A的矩阵平方根函数

5.MATLAB的常用函数

表8标准数组生成函数

指令

含义

diag

产生对角形数组(对高维不适用)

randn

产生正态分布随机数组

eye

产生单位数组(对高维不适用)

rand

产生(0,1)均匀分布随机数组

magic

产生魔方数组(对高维不适用)

rands

产生(-1,1)均匀分布随机数组

ones

产生全1数组

zeros

产生全0数组

size()

返回指定矩阵的行数和列数

length()

返回指定矩阵的最大长度

表9数组操作函数

提取对角线元素,或生成对角阵

flipud

以数组“水平中线”为对称轴,交换上下对称位置上的数组元素

fliplr

以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素

reshape

在总元素数不变的前提下,改变数组的“行数、列数”

rot90

矩阵逆时针旋转90度

det

方阵的行列式值

rank

矩阵的秩

inv

矩阵求逆 

eig

矩阵的特征值

6.多项式运算

poly——产生特征多项式系数向量

roots——求多项式的根

p=poly2str(c,‘x’)—(将特征多项式系数向量c转换为以习惯方式显示是多项式)

conv,convs——多项式乘运算

deconv——多项式除运算

polyder(p)——求p的微分

polyder(a,b)——求多项式a,b乘积的微分

[p,q]=polyder(p1,p2)——求解多项式p1/p2微分的有理分式

poly(p,A)——按数组运算规则求多项式p在自变量A的值

polym(p,A)——按矩阵运算规则求多项式p在自变量A的值

7.MATLAB的其他常用函数的使用练习

(1)sincosasinacostanatan等

exploglog10log2powsqrt等

absanglerealimag

fixfloorceilremsignround

summinmax

(2)allanyfindisemptyisinf

各函数的用法不清楚时,请使用help命令。

Matlab语言基本知识

(二)

1.程序设计基本知识

◆for循环结构

语法:

fori=初值:

增量:

终值

语句1

……

语句n

end

说明:

1)i=初值:

终值,则增量为1。

2)初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。

◆while循环结构

while逻辑表达式

循环体语句

1)whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。

若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。

若表达式的值为假,则程序执行end之后的语句。

2)为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。

(执行循环体的次数不确定;

每一次执行循环体后,一定会改变while后面所跟关系式的值。

3)while循环也可以嵌套、其结构如下:

while逻辑表达式1

循环体语句1

while逻辑表达式2

循环体语句2

循环体语句3

◆if-else-end分支结构

if表达式1

elseif表达式2(可选)

语句2

else(可选)

语句3

1)if结构是一个条件分支语句,若满足表达式的条件,则往下执行;

若不满足,则跳出if结构。

2)elseif表达式2与else为可选项,这两条语句可依据具体情况取舍。

3)注意:

每一个if都对应一个end,即有几个if,记就应有几个end。

◆switch-case结构

switch表达式

case常量表达式1

语句组1

case常量表达式2

语句组2

otherwise

语句组n

1)switch后面的表达式可以是任何类型,如数字、字符串等。

2)当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。

◆程序流程控制指令

break、return、pause

2.函数文件的结构和编写方法

函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。

M函数文件的结构:

(1)函数定义行(function)

(2)H1行(函数帮助文本的第一行)

(3)函数帮助文本

(4)函数体

(5)注释

函数文件编写后,保存时,其文件名必须与函数名相同。

注意:

函数名不要与MATLAB自身的函数命令相同。

3.初步掌握程序的调式方法

1)直接调试法

利用echo命令:

在程序的适当位置添加keyboard命令;

设置或去掉断点等。

keyboard命令:

在程序中加入keyboard命令,可暂停程序运行,将控制权交给键盘,此时可显示程序中变量的值或对其进行修改,完成后键入return命令返回。

2)调试器的使用

Debug菜单说明:

(有相应的快捷键)

Step单步运行

Stepin单步运行,遇到函数时进入函数,仍单步运行

Stepout如果是在函数中,跳出函数;

如果不在函数中,直接运行到下一个断点处

SaveandRun存储文件并开始运行,如文件是已存储过的,则该菜单变为Run,当程序暂停在断点处时,该菜单项变为Continue

GoUntilCursor直接运行到光标所在位置

ExitDebugMode退出调试方式

Matlab语言基本知识(三)

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.图形修饰与标注

(1)坐标轴的标题:

title函数

(2)坐标轴的说明:

xlabel和ylabel函数

(3)图形说明文字:

text和gtext函数

(4)给图形加网格:

grid函数

(5)在图形中添加图例框:

legend函数

(6)用鼠标点选屏幕上的点:

ginput函数

4.图形的修改

(1)采用设句柄修改;

set函数;

get函数;

gcf:

获得当前图形窗口的句柄;

gca:

获得当前坐标轴对象的句柄;

gco:

获得当前对象的句柄。

A.要对图形窗口的底色进行修改,可用:

set(gcf,‘Color’,[1,1,1])------将图形窗口底色设为白色

B.要把当前X轴的颜色改为绿色,可用:

set(gca,‘Xcolor’,[0,1,0])

(2)在图形窗口上直接修改。

Matlab语言基本知识(四)

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);

[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)

判断状态空间形式描述的系统的稳定性,两个输入。

A=[01–1;

-6–116;

-6–115];

B=[001];

C=[100];

D=0;

[

]=ss2zp(A,B,C,D,1)

]=ss2zp(A,B,C,D,2)

ii=find(real(

)>

0),

=length(ii);

ii1=find(real(

=length(ii1);

if(

+

0),disp(‘systemisUnstable’)

else

disp(‘systemisStable’);

end

3.控制系统根轨迹绘制

rlocus()函数:

功能为求系统根轨迹

rlocfind():

计算给定根的根轨迹增益

sgrid()函数:

绘制连续时间系统根轨迹和零极点图中的阻尼系数和自然频率栅格线

4.控制系统频域分析基本方法

(1)Bode图:

bode()函数

(2)Nyquist图:

nyquist()函数

(3)稳定裕度计算:

margin()函数

综合应用:

=logspace(-1,1);

[m,p]=bode(A,B,C,D,1,

subplot(211),semilogx(

20*log10(m));

subplot(212),semilogx(

p);

[X,Y]=nyquist(A,B,C,D,1,

);

plot(X,Y)

]=margin(A,B,C,D)

5.线性系统时间响应分析

step()函数:

求系统阶跃响应

impulse()函数:

求取系统的脉冲响应

lsim()函数:

求系统的任意输入下的仿真

Matlab语言基本知识(五)

1.SIMULINK简介

SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。

所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。

2.SIMULINK的启动

进入SIMULINK界面,只要你在MATLAB命令窗口提示符下键入‘SIMULINK’,按回车键即可启动SIMULINK软件。

在启动SIMULINK软件之后,SIMULINK的主要方块图库将显示在一个新的Windows中。

如图5-1所示:

►在MATLAB命令窗口中输入simulink:

结果是在桌面上出现一个称为SimulinkLibraryBrowser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。

图5-1SIMULINK的主要方块图库

3.SIMULINK的模块库介绍

►SIMILINK模块库按功能进行分为以下8类子库:

Continuous(连续模块)

Discrete(离散模块)

Function&

Tables(函数和平台模块)

Math(数学模块)

Nonlinear(非线性模块)

Signals&

Systems(信号和系统模块)

Sinks(接收器模块)

Sources(输入源模块)

4.SIMULINK简单模型的建立

(1)建立模型窗口

(2)将功能模块由模块库窗口复制到模型窗口

(3)对模块进行连接,从而构成需要的系统模型

5.SIMULINK功能模块的处理

(1)模块库中的模块可以直接用鼠标进行拖曳(选中模块,按住鼠标左键不放)而放到模型窗口中进行处理。

(2)在模型窗口中,选中模块,则其4个角会出现黑色标记。

此时可以对模块进行以下的基本操作:

◆移动:

选中模块,按住鼠标左键将其拖曳到所需的位置即可。

若要脱离线而移动,可按住shift键,再进行拖曳;

◆复制:

选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块;

◆删除:

选中模块,按Delete键即可。

若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。

也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除;

◆转向:

为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。

在菜单Format中选择FlipBlock旋转180度,选择RotateBlock顺时针旋转90度。

或者直接按Ctrl+F键执行FlipBlock,按Ctrl+R键执行RotateBlock。

◆改变大小:

选中模块,对模块出现的4个黑色标记进行拖曳即可。

◆模块命名:

先用鼠标在需要更改的名称上单击一下,然后直接更改即可。

名称在功能模块上的位置

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1