MatLab常用知识Word格式文档下载.docx
《MatLab常用知识Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MatLab常用知识Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
8)
Meshgrid
Repmat
2.3矩阵的创建
X=randn(n,3)随机数产生矩阵
直接输入
使用逗号、空格隔开时表示是不同列元素,使用分号隔开时,表示是不同行。
2.4点运算的意义
y=x.^2(x为向量)
点运算是指对矩阵中的每个元素进行运算。
这是一种不同于矩阵的乘除运算的另外一种运算法则。
注意:
点运算符必须放在乘号、除号和指数符号的前面。
因为直接写成y=x^2表示的意思是:
两个矩阵相乘,而此时两个行矩阵相乘不满足相乘条件。
故必然会出错。
而如果x是符号向量,则y=x^2是正确的。
y=1./x^2
2.5向量的点积、叉积和混合积
dot()
cross()
2.6矩阵运算
矩阵的乘法A*B
2.7矩阵提取
2.8矩阵的扩充
直接增加:
x=[x,y]%在x后面直接增加y
第3章绘图
3.1问题
如何使自变量的步长是不同的?
3.2二维图形绘制
plot函数——向量绘图、
其中plot(Y)非常方便,可以直接将一个向量进行绘图
ezplot函数——符号函数的绘图
对于常用的数学函数我们经常采用ezplot更简单,基本形式为:
symsx
y=sin(x)+x^2+log(x)+3^x
ezplot(y)
ezplot函数—隐函数绘图
3.3三维图形绘制
3.3.1三维曲线plot3()
3.3.2三维曲面绘制mesh()、surf()、contour()
3.3.3离散三维绘图stem3stairs
3.3.4方向、速度图
3.4符号函数的绘图
符号曲线绘图ezplot
符号曲面绘图ezmesh(easymesh之意)
ezcontour画等高线ezcontour('
x*sin(t)'
[-4,4])
ezcontourf画带填充颜色等高线ezcontourf('
ezmesh画三维网线图ezmesh('
sin(x)*exp(-t)'
'
cos(x)*exp(-t)'
x'
[0,2*pi])
ezmeshc画带等高线的三维网线图ezmeshc('
sin(x)*t'
[-pi,pi])
ezpolar画极坐标图ezpolar('
sin(t)'
[0,pi/2])
ezsurf画三维曲面图ezsurf('
x*cos(t)'
t'
[0,10*pi])
ezsurfc画带等高线的三维曲面图
ezsurfc('
[0,pi,0,2*pi])
3.5强大的图形修饰功能
Matlab中集成了LATEX(一种科学文档排版系统),可以将上下标很好的表现出来。
3.6辅助功能
Figure——创建一个新窗口
Hold——保留当前figure功能
Holdon将多图放在一个图上
Subplot——子窗口
显示各轴范围xlim,ylim,zlim
注释title
LineSpec线属性:
颜色、线型等
plot(t,sin(2*t),'
-mo'
'
LineWidth'
2,'
MarkerEdgeColor'
k'
'
MarkerFaceColor'
[.491.63],'
MarkerSize'
12)
第4章插值与拟合
4.1interp插值
yi=interp1(x,Y,xi,method)一维
ZI=interp2(X,Y,Z,XI,YI);
二维
4.2polyfit多项式拟合
p=polyfit(x,y,6);
第5章多项式
5.1符号变量
symsXYZLzLcxC
Tzm=[1000;
0100;
001Z;
0001]
Tmx=[100-X;
001Lz;
Txc=[cos(C)-sin(C)00;
sin(C)cos(C)00;
001Lcx;
5.2多项式的构造方式
矩阵形式A=[123]表示
在Matlab中经常使用矩阵表示多项式,其实Matlab将很多东西都是采用矩阵表示。
利用符号变量
其实符号变量有更大的适用范围,而不仅仅是表示多项式,它可以表示绝大数常见的数学函数。
5.3常见数学函数(符号变量形式)的处理
(1)微积分diff(f)int(f)另外,还可以进行多阶微积分处理
(2)求根solve(f)
(3)极限limit(f)
(4)傅里叶变换fourier(f)
(5)拉普拉斯变换laplace(f)
(6)级数
常见数学函数(矩阵形式)的处理
5.4Matlab多项式
poly的运用:
通过Matlab可以进行求根、求值、求导。
sym(symbol)函数进行使用多项式,也有很多好处。
这是数值运算与符号运算的区别
一般,sym形式的符号多项式更具有优势,更常用。
而数值式的多项式适合于工程中的近似处理
5.5Subs函数——非常有用
将符号表达式中的变量使用特定值代替;
SingleSubstitution.
subs(a+b,a,4)returns4+b.
MultipleSubstitutions.
subs(cos(a)+sin(b),{a,b},{sym('
alpha'
),2})returns
cos(alpha)+sin
(2)
第6章函数
6.1S函数
6.2M文件
6.2.1脚本式M文件、函数式M文件
脚本式M文件,可以通过M文件的文件名字进行调用,可以理解为将commandline写在m文件中,即命令的简单叠加,类似于批处理。
没有特殊的格式,不需要写function关键词。
而函数式M文件,以function关键词开头。
也是通过文件名字进行调用,不过一般让文件名与函数名相同。
以下是比较标准的格式:
6.2.2函数句柄
fhandle=@functionname
在M函数名字之前加一个@符号,就可以将句柄赋值给fhandle。
fhandle(arg1,arg2,...,argn)
调用的时候,就将句柄当函数名字使用。
6.2.3主函数、子函数
6.2.4函数调用
函数调用可以在CommandWindow或者在另一个M文件中。
functionname()
fhandle()
6.3专题——数字PID控制的仿真
6.3.1SimuLink和M文件的联合使用
在M文件中,建立一个函数。
在Simulink中添加一个MATLABFcn控件,然后将其属性参数中的函数设定为用户将要建立的M文件的函数名。
6.4相关内容
Z变换
第7章MatLabSimulink相关知识
7.1快捷键
7.1.1Simulink模块
Ctrl+R模块旋转90°
+I模块旋转180°
+T开始仿真
+E配置参数对话框
7.2求解器
7.2.1系统方程的刚性
7.2.2ode45求解器
这是最常用的一个方法,精度适中,是很多时候的首选。
它是利用Taylor级数取近似解,主要误差是Taylor的截断项。
ode45采用4、5阶Taylor级数分别进行计算,并将这两个值进行相减,如果大于系统设定值,则缩短步长,如果远小于则放大步长。
7.2.3ode23求解器
其与ode45非常类似,只不过是使用Taylor的2、3阶进行处理。
一般其步长要比ode45小,从而达到与之同样的精度。
处理“中度刚度”问题的能力更强。
7.2.4ode113求解器
其是一个多步预报校正算法。
采用多项式方法,从而计算导数次数比前两个少,在处理光滑系统时,速度更快。
7.2.5ode15sode23sode23tb
求解刚性方程。
7.3Scope的设置
如何一个scope上显示多个视图
双击Scope模块,弹出显示模块,然后单击工具栏中parameters,进行设置。
将多条曲线显示到一个Scope中
如何设置scope的参数
7.4设置仿真性能与计算精度
7.4.1设置对话框
提高精度的常用方法:
选择适当的求解器:
系统是刚性的,则选择odel15s或ode23t等求解器;
系统不是刚性的,则选择ode45
确定误差:
多次尝试,以找到合适误差设置值
调整仿真步长:
多次尝试,以找到合适步长
7.5子系统、子系统的封装
选择框图,右键生成子系统(CreateSubsystem);
将生成的子系统,右键生成封装(MaskSubsystem)
编辑封装:
图标、封装后的变量、初始化(对封装的变量的初始化)、辅助信息(如帮助文件、提示)
7.6Simin、Simout、ToFile、FromFile
从文件和工作空间变量读取到仿真模型中。
Sinks(接收器):
Source
第8章调试
8.1常用操作
设置断点:
开始:
Continue:
F5
单步执行:
F10