一、Matlab7.0函数及运算命令
1、运算符:
+:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。
2、常用函数表:
sin( ) 正弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切(变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦(返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数
cosd( ) 余弦(变量为度数)log( ) 对数
acos( ) 余正弦(返回弧度)log10( ) 以10为底对数acosd( ) 余正弦(返回度数)sqrt( ) 开方
tan( ) 正切(变量为弧度)realsqrt( ) 返回非负根
tand( ) 正切(变量为度数)abs( ) 取绝对值
atan( ) 反正切(返回弧度)angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和
3、其余函数可以用help elfun和help specfun命令获得。
4、常用常数的值:
pi 3.1415926…….
realmin 最小浮点数,2^-1022
i 虚数单位
realmax 最大浮点数,(2-eps)2^1022
j 虚数单位
Inf 无限值
eps 浮点相对经度=2^-52
NaN 空值
二、常用对象操作:除了一般windows窗口的常用功能键外。
1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。
2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。
3、功能键:
功能键快捷键说明
方向上键Ctrl+P 返回前一行输入
方向下键Ctrl+N 返回下一行输入
方向左键Ctrl+B 光标向后移一个字符
方向右键Ctrl+F 光标向前移一个字符
Ctrl+方向右键Ctrl+R 光标向右移一个字符
Ctrl+方向左键Ctrl+L 光标向左移一个字符
home Ctrl+A 光标移到行首
End Ctrl+E 光标移到行尾
Esc Ctrl+U 清除一行
Del Ctrl+D 清除光标所在的字符
Backspace Ctrl+H 删除光标前一个字符
Ctrl+K 删除到行尾
Ctrl+C 中断正在执行的命令
4、clc可以命令窗口显示的内容,但并不清除工作空间。
三、数组和矩阵:
1、构造数组的方法:增量发和linspace(first,last,num)first和last为起始和终止数,num为需要的数组元素个数。
2、构造矩阵的方法:可以直接用[ ]来输入数组,也可以用以下提供的函数来生成矩阵。
ones( ) 创建一个所有元素都为1的矩阵,其中可以制定维数,1,2….个变量zeros() 创建一个所有元素都为0的矩阵
eye() 创建对角元素为1,其他元素为0的矩阵
diag() 根据向量创建对角矩阵,即以向量的元素为对角元素
magic() 创建魔方矩阵
rand() 创建随机矩阵,服从均匀分布
randn() 创建随机矩阵,服从正态分布
randperm() 创建随机行向量
horcat C=[A,B],水平聚合矩阵,还可以用cat(1,A,B)
vercat C=[A;B],垂直聚合矩阵, 还可以用cat(2,A,B)
repmat(M,v,h) 将矩阵M在垂直方向上聚合v次,在水平方向上聚合h次blkdiag(A,B)以A,和B为块创建块对角矩阵
length 返回矩阵最长维的的长度
ndims 返回维数
numel 返回矩阵元素个数
size 返回每一维的长度,[rows,cols]=size(A)
reshape 重塑矩阵,reshape(A,2,6),将A变为2×6的矩阵,按列排列。rot90 旋转矩阵90度,逆时针方向
fliplr 沿垂轴翻转矩阵
flipud 沿水平轴翻转矩阵
transpose 沿主对角线翻转矩阵
ctranspose 转置矩阵,也可用A’或A.’,这仅当矩阵为复数矩阵时才有区别
inv 矩阵的逆
det 矩阵的行列式值
trace 矩阵对角元素的和
norm 矩阵或矢量的范数,norm(a,1),norm(a,Inf)……. normest 估计矩阵的最大范数矢量
chol 矩阵的cholesky分解
cholinc 不完全cholesky分解
lu LU分解
luinc 不完全LU分解
qr 正交分解
kron(A,B)A为m×n,B为p×q,则生成mp×nq的矩阵,A的每一
个元素都会乘上B,并占据p×q大小的空间
rank 求出矩阵的刺
pinv 求伪逆矩阵
A^p 对A进行操作
A.^P 对A中的每一个元素进行操作
四、数值计算
1、线性方程组求解
(1)AX=B的解可以用X=A\B求。XA=B的解可以用X= A/B求。如果A是m ×n的矩阵,当m=n时可以找到唯一解,m
(2)AX=b, A=L×U,[L,U]=lu(A), X=U\(L\b),即用LU分解求解。
(3)QR(正交)分解是将一矩阵表示为一正交矩阵和一上三角矩阵之积,A=Q×R[Q,R]=chol(A), X=Q\(U\b)
(4)cholesky分解类似。
2、特征值
D=eig(A)返回A的所有特征值组成的矩阵。[V,D]=eig(A),还返回特征向量矩阵。
3、A=U×S×UT,[U,S]=schur(A).其中S的对角线元素为A的特征值。
4、多项式Matlab里面的多项式是以向量来表示的,其具体操作函数如下:conv 多项式的乘法
deconv 多项式的除法,【a,b】=deconv(s),返回商和余数
poly 求多项式的系数(由已知根求多项式的系数)
polyeig 求多项式的特征值
Polyfit(x,y,n)多项式的曲线拟合,x,y为被拟合的向量,n为拟合多项式阶数。
polyder 求多项式的一阶导数,polyder(a,b)返回ab的导数
[a,b]=polyder(a,b)返回a/b的导数。
polyint 多项式的积分
polyval 求多项式的值
polyvalm 以矩阵为变量求多项式的值
residue 部分分式展开式
roots 求多项式的根(返回所有根组成的向量)
注:用ploy(A)求出矩阵的特征多项式,然后再求其根,即为矩阵的特征值。
5、插值常用的插值函数如下:
griddata 数据网格化合曲面拟合
Griddata3 三维数据网格化合超曲面拟合
interp1 一维插值
(yi=interp1(x,y,xi,’method’)Method=nearest/linear/spline/pchip/cubic
Interp2 二维插值zi=interp1(x,y,z,xi,yi’method’),bilinear
Interp3 三维插值
interpft 用快速傅立叶变换进行一维插值,help fft。
mkpp 使用分段多项式
spline 三次样条插值
pchip 分段hermit插值
6、函数最值的求解
fminbnd(‘f’,x1,x2,optiset(,))求f在x1和x2之间的最小值。Optiset选项可以有‘Display’+‘iter’/’off’/’final’,分别表示显示计算过程/不显示/只显示最后结果。fminsearch求多元函数的最小值。fzero(‘f’,x1)求一元函数的零点。X1为起始点。同样可以用上面的选项。
五、图像绘制:
1、基本绘图函数
plot 绘制二维线性图形和两个坐标轴
plot3 绘制三维线性图形和两个坐标轴
fplot 在制定区间绘制某函数的图像。fplot(‘f’,区域,线型,颜色)loglog 绘制对数图形及两个坐标轴(两个坐标都为对数坐标)semilogx 绘制半对数坐标图形
semilogy 绘制半对数坐标图形
2、线型:
y 黄色
. 圆点线
v 向下箭头g 绿色
-. 组合
> 向右箭头b 蓝色
+ 点为加号形< 向左箭头m 红紫色
o 空心圆形
p 五角星形
c 蓝紫色
* 星号
h 六角星形
w 白色
. 实心小点
hold on 添加图形
r 红色
x 叉号形状
grid on 添加网格
k 黑色
s 方形
- 实线
d 菱形
-- 虚线
^ 向上箭头
3、可以用subplot(3,3,1)表示将绘图区域分为三行三列,目前使用第一区
域。此时如要画不同的图形在一个窗口里,需要hold on。
附录1.1 管理用命令
addpath 增加一条搜索路径rmpath 删除一条搜索路径demo 运行Matlab演示程序type 列出.M文件
doc 装入超文本文档version 显示Matlab的版本号help 启动联机帮助what 列出当前目录下的有关文件lasterr 显示最后一条信息whatsnew 显示Matlab的新特性lookfor 搜索关键词的帮助which 造出函数与文件所在的目录path 设置或查询Matlab路径
附录1.2管理变量与工作空间用命令
clear 删除内存中的变量与函数pack 整理工作空间内存
disp 显示矩阵与文本
save 将工作空间中的变量存盘length 查询向量的维数
size 查询矩阵的维数
load 从文件中装入数据who,whos 列出工作空间中的变量名
附录1.3文件与操作系统处理命令
cd 改变当前工作目录
edit 编辑.M文件
delete 删除文件
matlabroot 获得Matlab的安装根目录diary 将Matlab运行命令存盘tempdir 获得系统的缓存目录
dir 列出当前目录的内容tempname 获得一个缓存(temp)文件! 执行操作系统命令
附录1.4窗口控制命令
echo 显示文件中的Matlab中的命令more 控制命令窗口的输出页面format 设置输出格式
附录1.5启动与退出命令
matlabrc 启动主程序quit 退出Matlab环境
startup Matlab自启动程序
附录2 运算符号与特殊字符附录
2.1运算符号与特殊字符
+ 加
... 续行标志
- 减
, 分行符(该行结果不
显示)
* 矩阵乘
; 分行符(该行结果显
示)
.* 向量乘
% 注释标志
^ 矩阵乘方
! 操作系统命令提示符.^ 向量乘方
'矩阵转置kron 矩阵kron积
. 向量转置
\ 矩阵左除
= 赋值运算
/ 矩阵右除
== 关系运算之相等
.\ 向量左除
~= 关系运算之不等
./ 向量右除
< 关系运算之小于
: 向量生成或子阵提取
<= 关系运算之小于等
于
() 下标运算或参数定义
> 关系运算之大于
[] 矩阵生成
>= 关系运算之大于等
于
{} 函数
& 逻辑运算之与
. 结构字段获取符
| 逻辑运算之或
. 点乘运算,常与其
他运算符联合使
用(如.\)
~ 逻辑运算之非
xor 逻辑运算之异成
附录2.2逻辑函数
all 测试向量中所用元素是否为真is*(一类函数) 检测向量状态.其中
*表示一个确定的函
数(isinf)
any 测试向量中是否有真元素*isa 检测对象是否为某一个类的对象exist 检验变量或文件是否定义logical 将数字量转化为逻辑量
find 查找非零元素的下标
附录3 语言结构与调试附录3.1编程语言
builtin 执行Matlab内建的函数global 定义全局变量eval 执行Matlab语句构成的字符串nargchk 函数输入输出参数个数检验
feval 执行字符串指定的文件
script Matlab语句及文件信息
function Matlab函数定义关键词附录3.2控制流程
break 中断循环执行的语句
if 条件转移语句
case 与switch结合实现多路转移otherwise 多路转移中的缺省执行部分else 与if一起使用的转移语句return 返回调用函数
elseif 与if一起使用的转移语句switch 与case结合实现多路转移end 结束控制语句块
warning 显示警告信息
error 显示错误信息
while 循环语句
for 循环语句
附录3.3交互输入
input 请求输入menu 菜单生成keyboard 启动键盘管理pause 暂停执行
附录3.4面向对象编程
class 生成对象
isa 判断对象是否属于某一类double 转换成双精度型superiorto 建立类的层次关系inferiorto 建立类的层次关系
unit8 转换成8字节的无符号整数inline 建立一个内嵌对象
附录3.5调试
dbclear 清除调试断点dbstatus 列出所有断点情况dbcont 调试继续执行
dbstep 单步执行
dbdown 改变局部工作空间内存dbstop 设置调试断点dbmex 启动对Mex文件的调试sbtype 列出带命令行标号的.M文件dbquit 退出调试模式
dbup 改变局部工作空间内容dbstack 列出函数调用关系
附录4 基本矩阵与矩阵处理附录4.1基本矩阵
eye 产生单位阵
rand 产生随机分布矩阵linspace 构造线性分布的向量randn 产生正态分布矩阵logspace 构造等对数分布的向量zeros 产生零矩阵
ones 产生元素全部为1的矩阵: 产生向量
附录4.2特殊向量与常量
ans 缺省的计算结果变量
non 非数值常量常由0/0或Inf/Inf获得computer 运行Matlab的机器类型nargin 函数中参数输入个数
eps 精度容许误差(无穷小) nargout 函数中输出变量个数flops 浮点运算计数
pi 圆周率
i 复数单元
realmax 最大浮点数值
inf 无穷大realmin 最小浮点数值inputname 输入参数名varargin 函数中输入的可选参数j 复数单元
varargout 函数中输出的可选参数
附录4.3时间与日期
calender 日历eomday 计算月末clock 时钟
etime 所用时间函数cputim所用的CPU时间now 当前日期与时间
date 日期
tic 启动秒表计时器
daten日期(数字串格式)
toc 读取秒表计时器
datest日期(字符串格式)
weekday 星期函数
datevoc 日期(年月日
分立格式)
附录4.4矩阵处理
cat 向量连接
reshape 改变矩阵行列个数
diag 建立对角矩阵或获取对角向量rot90 将矩阵旋转90度
fliplr 按左右方向翻转矩阵元素tril 取矩阵的下三角部分flipud 按上下方向翻转矩阵元素triu 取矩阵的上三角部分repmat 复制并排列矩阵函数
附录5 特殊矩阵
compan 生成伴随矩阵
invhilb 生成逆hilbert矩阵gallery 生成一些小的测试矩阵magic 生成magic矩阵hadamard 生成hadamard矩阵pascal 生成pascal矩阵hankel 生成hankel矩阵toeplitz 生成toeplitz矩阵
hilb 生成hilbert矩阵wilkinson 生成wilkinson特征值测
试矩阵
附录6 数学函数附录6.1三角函数
sin/asin 正弦/反正弦函数
sec/asec 正割/反正割函数
sinh/asinh 双曲正弦/反双曲正弦函数sech/asech 双曲正割/反双曲正割函数cos/acos 余弦/反余弦函数
csc/acsc 余割/反余割函数
cosh/acosh 双曲余弦/反双曲余弦函数csch/acsch 双曲余割/反双曲余割函数tan/atan 正切/反正切函数
cot/acot 余切/反余切函数
tanh/atanh 双曲正切/反双曲正切函数coth/acoth 双曲余切/反双曲余切函数atan2 四个象限内反正切函数
附录6.2指数函数
exp 指数函数
log10 常用对数函数log 自然对数函数sqrt 平方根函数
附录6.3复数函数
abs 绝对值函数imag 求虚部函数real 求实部函数
angle 角相位函数
conj 共轭复数函数
附录6.4数值处理
fix 沿零方向取整round 舍入取整floor 沿-∞方向取整
rem 求除法的余数
ceil 沿+∞方向取整
sign 符号函数
附录6.5其他特殊数学函数
airy airy函数
erfcx 比例互补误差函数besselh bessel函数(hankel函数) erfinv 逆误差函数
bessili 改进的第一类bessel函数expint 指数积分函数
besselk 改进的第二类bessel函数gamma gamma函数
besselj 第一类bessel函数gammainc 非完全gamma函数bessely 第二类bessel函数gammaln gamma对数函数
beta beta函数gcd 最大公约数betainc 非完全的beta函数lcm 最小公倍数betaln beta对数函数
log2 分割浮点数
elipj Jacobi椭圆函数egendre legendre伴随函数ellipke 完全椭圆积分
pow2 基2标量浮点数erf 误差函数
rat 有理逼近
erfc 互补误差函数
rats 有理输出
常用函数指令:
A a
abs 绝对值、模、字符的ASCII码值acos 反余弦
acosh 反双曲余弦
acot 反余切
acoth 反双曲余切
acsc 反余割
acsch 反双曲余割
align 启动图形对象几何位置排列工具all 所有元素非零为真
angle 相角
ans 表达式计算结果的缺省变量名any 所有元素非全零为真
area 面域图
argnames 函数M文件宗量名
asec 反正割
asech 反双曲正割
asin 反正弦
asinh 反双曲正弦
assignin 向变量赋值
atan 反正切
atan2 四象限反正切atanh 反双曲正切
autumn 红黄调秋色图阵
axes 创建轴对象的低层指令
axis 控制轴刻度和风格的高层指令B b
bar 二维直方图
bar3 三维直方图
bar3h 三维水平直方图
barh 二维水平直方图
base2dec X进制转换为十进制
bin2dec 二进制转换为十进制blanks 创建空格串
bone 蓝色调黑白色图阵
box 框状坐标轴
break while 或for 环中断指令brighten 亮度控制
C c
capture (3版以前)捕获当前图形cart2pol 直角坐标变为极或柱坐标cart2sph 直角坐标变为球坐标
cat 串接成高维数组
caxis 色标尺刻度
cd 指定当前目录
cdedit 启动用户菜单、控件回调函数设计工具
cdf2rdf 复数特征值对角阵转为实数块对角阵
ceil 向正无穷取整
cell 创建元胞数组
cell2struct 元胞数组转换为构架数组celldisp 显示元胞数组内容
cellplot 元胞数组内部结构图示
char 把数值、符号、内联类转换为字符对象
chi2cdf 分布累计概率函数
chi2inv 分布逆累计概率函数
chi2pdf 分布概率密度函数
chi2rnd 分布随机数发生器
chol Cholesky分解
clabel 等位线标识
cla 清除当前轴
class 获知对象类别或创建对象
clc 清除指令窗
clear 清除内存变量和函数
clf 清除图对象
clock 时钟
colorcube 三浓淡多彩交叉色图矩阵colordef 设置色彩缺省值
colormap 色图
colspace 列空间的基
close 关闭指定窗口
colperm 列排序置换向量
comet 彗星状轨迹图
comet3 三维彗星轨迹图
compass 射线图
compose 求复合函数
cond (逆)条件数
condeig 计算特征值、特征向量同时给出条件数
condest 范-1条件数估计
conj 复数共轭
contour 等位线
contourf 填色等位线
contour3 三维等位线
contourslice 四维切片等位线图
conv 多项式乘、卷积
cool 青紫调冷色图
copper 古铜调色图
cos 余弦cosh 双曲余弦
cot 余切
coth 双曲余切
cplxpair 复数共轭成对排列
csc 余割
csch 双曲余割
cumsum 元素累计和
cumtrapz 累计梯形积分
cylinder 创建圆柱
D d
dblquad 二重数值积分
deal 分配宗量
deblank 删去串尾部的空格符
dec2base 十进制转换为X进制
dec2bin 十进制转换为二进制
dec2hex 十进制转换为十六进制
deconv 多项式除、解卷
delaunay Delaunay 三角剖分
del2 离散Laplacian差分
demo Matlab演示
det 行列式
diag 矩阵对角元素提取、创建对角阵diary Matlab指令窗文本内容记录
diff 数值差分、符号微分
digits 符号计算中设置符号数值的精度
dir 目录列表
disp 显示数组
display 显示对象内容的重载函数dlinmod 离散系统的线性化模型
dmperm 矩阵Dulmage-Mendelsohn 分解dos 执行DOS 指令并返回结果
double 把其他类型对象转换为双精度数值drawnow 更新事件队列强迫Matlab刷新屏幕
dsolve 符号计算解微分方程
E e
echo M文件被执行指令的显示
edit 启动M文件编辑器
eig 求特征值和特征向量
eigs 求指定的几个特征值
end 控制流FOR等结构体的结尾元素下标eps 浮点相对精度
error 显示出错信息并中断执行
errortrap 错误发生后程序是否继续执行的控制
erf 误差函数
erfc 误差补函数
erfcx 刻度误差补函数
erfinv 逆误差函数
errorbar 带误差限的曲线图
etreeplot 画消去树
eval 串演算指令
evalin 跨空间串演算指令
exist 检查变量或函数是否已定义
exit 退出Matlab环境
exp 指数函数
expand 符号计算中的展开操作
expint 指数积分函数
expm 常用矩阵指数函数
expm1 Pade法求矩阵指数
expm2 Taylor法求矩阵指数
expm3 特征值分解法求矩阵指数
eye 单位阵
ezcontour 画等位线的简捷指令ezcontourf 画填色等位线的简捷指令ezgraph3 画表面图的通用简捷指令ezmesh 画网线图的简捷指令
ezmeshc 画带等位线的网线图的简捷指令ezplot 画二维曲线的简捷指令
ezplot3 画三维曲线的简捷指令
ezpolar 画极坐标图的简捷指令
ezsurf 画表面图的简捷指令
ezsurfc 画带等位线的表面图的简捷指令F f
factor 符号计算的因式分解
feather 羽毛图
feedback 反馈连接
feval 执行由串指定的函数
fft 离散Fourier变换
fft2 二维离散Fourier变换
fftn 高维离散Fourier变换
fftshift 直流分量对中的谱
fieldnames 构架域名
figure 创建图形窗
fill3 三维多边形填色图
find 寻找非零元素下标
findobj 寻找具有指定属性的对象图柄findstr 寻找短串的起始字符下标findsym 机器确定内存中的符号变量finverse 符号计算中求反函数
fix 向零取整
flag 红白蓝黑交错色图阵
fliplr 矩阵的左右翻转
flipud 矩阵的上下翻转
flipdim 矩阵沿指定维翻转floor 向负无穷取整
flops 浮点运算次数
flow Matlab提供的演示数据
fmin 求单变量非线性函数极小值点(旧版)fminbnd 求单变量非线性函数极小值点fmins 单纯形法求多变量函数极小值点(旧版)
fminunc 拟牛顿法求多变量函数极小值点fminsearch 单纯形法求多变量函数极小值点
fnder 对样条函数求导
fnint 利用样条函数求积分
fnval 计算样条函数区间内任意一点的值fnplt 绘制样条函数图形
fopen 打开外部文件
for 构成for环用
format 设置输出格式
fourier Fourier 变换
fplot 返函绘图指令
fprintf 设置显示格式
fread 从文件读二进制数据
fsolve 求多元函数的零点
full 把稀疏矩阵转换为非稀疏阵
funm 计算一般矩阵函数
funtool 函数计算器图形用户界面
fzero 求单变量非线性函数的零点
G g
gamma 函数
gammainc 不完全函数
gammaln 函数的对数
gca 获得当前轴句柄
gcbo 获得正执行"回调"的对象句柄
gcf 获得当前图对象句柄
gco 获得当前对象句柄
geomean 几何平均值
get 获知对象属性
getfield 获知构架数组的域
getframe 获取影片的帧画面
ginput 从图形窗获取数据
global 定义全局变量
gplot 依图论法则画图
gradient 近似梯度
gray 黑白灰度
grid 画分格线
griddata 规则化数据和曲面拟合
gtext 由鼠标放置注释文字
guide 启动图形用户界面交互设计工具
H h
harmmean 调和平均值
help 在线帮助
helpwin 交互式在线帮助helpdesk 打开超文本形式用户指南hex2dec 十六进制转换为十进制hex2num 十六进制转换为浮点数hidden 透视和消隐开关
hilb Hilbert矩阵
hist 频数计算或频数直方图
histc 端点定位频数直方图
histfit 带正态拟合的频数直方图hold 当前图上重画的切换开关horner 分解成嵌套形式
hot 黑红黄白色图
hsv 饱和色图
I i
if-else-elseif 条件分支结构
ifft 离散Fourier反变换
ifft2 二维离散Fourier反变换
ifftn 高维离散Fourier反变换ifftshift 直流分量对中的谱的反操作ifourier Fourier反变换
i, j 缺省的"虚单元"变量
ilaplace Laplace反变换
imag 复数虚部
image 显示图象
imagesc 显示亮度图象
imfinfo 获取图形文件信息
imread 从文件读取图象
imwrite 把
imwrite 把图象写成文件
ind2sub 单下标转变为多下标
inf 无穷大
info MathWorks公司网点地址inline 构造内联函数对象
inmem 列出内存中的函数名
input 提示用户输入
inputname 输入宗量名
int 符号积分
int2str 把整数数组转换为串数组interp1 一维插值
interp2 二维插值
interp3 三维插值
interpn N维插值
interpft 利用FFT插值
intro Matlab自带的入门引导
inv 求矩阵逆invhilb Hilbert矩阵的准确逆
ipermute 广义反转置
isa 检测是否给定类的对象
ischar 若是字符串则为真
isequal 若两数组相同则为真
isempty 若是空阵则为真
isfinite 若全部元素都有限则为真isfield 若是构架域则为真
isglobal 若是全局变量则为真
ishandle 若是图形句柄则为真
ishold 若当前图形处于保留状态则为真isieee 若计算机执行IEEE规则则为真isinf 若是无穷数据则为真
isletter 若是英文字母则为真
islogical 若是逻辑数组则为真ismember 检查是否属于指定集
isnan 若是非数则为真
isnumeric 若是数值数组则为真isobject 若是对象则为真
isprime 若是质数则为真
isreal 若是实数则为真
isspace 若是空格则为真
issparse 若是稀疏矩阵则为真
isstruct 若是构架则为真
isstudent 若是Matlab学生版则为真iztrans 符号计算Z反变换
J j , K k
jacobian 符号计算中求Jacobian 矩阵jet 蓝头红尾饱和色
jordan 符号计算中获得Jordan标准型keyboard 键盘获得控制权
kron Kronecker乘法规则产生的数组
L l
laplace Laplace变换
lasterr 显示最新出错信息
lastwarn 显示最新警告信息
leastsq 解非线性最小二乘问题(旧版)legend 图形图例
lighting 照明模式
line 创建线对象
lines 采用plot 画线色
linmod 获连续系统的线性化模型linmod2 获连续系统的线性化精良模型linspace 线性等分向量
ln 矩阵自然对数
load 从MAT文件读取变量
log 自然对数
log10 常用对数
log2 底为2的对数
loglog 双对数刻度图形
logm 矩阵对数
logspace 对数分度向量
lookfor 按关键字搜索M文件
lower 转换为小写字母
lsqnonlin 解非线性最小二乘问题
lu LU分解
M m
mad 平均绝对值偏差
magic 魔方阵
maple &nb, sp; 运作Maple格式指令
mat2str 把数值数组转换成输入形态串数组material 材料反射模式
max 找向量中最大元素
mbuild 产生EXE文件编译环境的预设置指令
mcc 创建MEX或EXE文件的编译指令mean 求向量元素的平均值
median 求中位数
menuedit 启动设计用户菜单的交互式编辑工具
mesh 网线图
meshz 垂帘网线图
meshgrid 产生"格点"矩阵
methods 获知对指定类定义的所有方法函数
mex 产生MEX文件编译环境的预设置指令
mfunlis 能被mfun计算的MAPLE经典函数列表
mhelp 引出Maple的在线帮助
min 找向量中最小元素
mkdir 创建目录
mkpp 逐段多项式数据的明晰化
mod 模运算
more 指令窗中内容的分页显示
movie 放映影片动画
moviein 影片帧画面的内存预置
mtaylor 符号计算多变量Taylor级数展开N n
ndims 求数组维数
NaN 非数(预定义)变量
nargchk 输入宗量数验证
nargin 函数输入宗量数
nargout 函数输出宗量数ndgrid 产生高维格点矩阵
newplot 准备新的缺省图、轴
nextpow2 取最接近的较大2次幂
nnz 矩阵的非零元素总数
nonzeros 矩阵的非零元素
norm 矩阵或向量范数
normcdf 正态分布累计概率密度函数normest 估计矩阵2范数
norminv 正态分布逆累计概率密度函数normpdf 正态分布概率密度函数
normrnd 正态随机数发生器
notebook 启动Matlab和Word的集成环境null 零空间num2str 把非整数数组转换为串
numden 获取最小公分母和相应的分子表达式
nzmax 指定存放非零元素所需内存
O o
ode1 非Stiff 微分方程变步长解算器
ode15s Stiff 微分方程变步长解算器
ode23t 适度Stiff 微分方程解算器
ode23tb Stiff 微分方程解算器
ode45 非Stiff 微分方程变步长解算器odefile ODE 文件模板
odeget 获知ODE 选项设置参数odephas2 ODE 输出函数的二维相平面图odephas3 ODE 输出函数的三维相空间图odeplot ODE 输出函数的时间轨迹图odeprint 在Matlab指令窗显示结果odeset 创建或改写ODE选项构架参数值ones 全1数组
optimset 创建或改写优化泛函指令的选项参数值
orient 设定图形的排放方式
orth 值空间正交化
P p
pack 收集Matlab内存碎块扩大内存pagedlg 调出图形排版对话框
patch 创建块对象
path 设置Matlab搜索路径的指令pathtool 搜索路径管理器
pause 暂停
pcode 创建预解译P码文件
pcolor 伪彩图
peaks Matlab提供的典型三维曲面permute 广义转置
pi (预定义变量)圆周率
pie 二维饼图
pie3 三维饼图
pink 粉红色图矩阵
pinv 伪逆
plot 平面线图
plot3 三维线图
plotmatrix 矩阵的散点图
plotyy 双纵坐标图
poissinv 泊松分布逆累计概率分布函数poissrnd 泊松分布随机数发生器
pol2cart 极或柱坐标变为直角坐标
polar 极坐标图
poly 矩阵的特征多项式、根集对应的多项式
poly2str 以习惯方式显示多项式
poly2sym 双精度多项式系数转变为向量符号多项式
polyder 多项式导数
polyfit 数据的多项式拟合
polyval 计算多项式的值
polyvalm 计算矩阵多项式
pow2 2的幂
ppval 计算分段多项式
pretty 以习惯方式显示符号表达式
print 打印图形或SIMULINK模型printsys 以习惯方式显示有理分式
prism 光谱色图矩阵
procread 向MAPLE输送计算程序
profile 函数文件性能评估器
propedit 图形对象属性编辑器
pwd 显示当前工作目录
Q q
quad 低阶法计算数值积分
quad8 高阶法计算数值积分(QUADL)
quit 推出Matlab 环境
quiver 二维方向箭头图
quiver3 三维方向箭头图
R r
rand 产生均匀分布随机数
randn 产生正态分布随机数
randperm 随机置换向量
range 样本极差
rank 矩阵的秩
rats 有理输出
rcond 矩阵倒条件数估计
real 复数的实部
reallog 在实数域内计算自然对数realpow 在实数域内计算乘方
realsqrt 在实数域内计算平方根
realmax 最大正浮点数
realmin 最小正浮点数
rectangle 画"长方框"
rem 求余数
repmat 铺放模块数组
reshape 改变数组维数、大小
residue 部分分式展开
return 返回
ribbon 把二维曲线画成三维彩带图rmfield 删去构架的域
roots 求多项式的根
rose 数扇形图
rot90 矩阵旋转90度
rotate 指定的原点和方向旋转
rotate3d 启动三维图形视角的交互设置功能
round 向最近整数圆整
rref 简化矩阵为梯形形式
rsf2csf 实数块对角阵转为复数特征值对角阵
rsums Riemann和
S s
save 把内存变量保存为文件
scatter 散点图
scatter3 三维散点图
sec 正割
sech 双曲正割
semilogx X轴对数刻度坐标图
semilogy Y轴对数刻度坐标图
series 串联连接
set 设置图形对象属性
setfield 设置构架数组的域
setstr 将ASCII码转换为字符的旧版指令sign 根据符号取值函数
signum 符号计算中的符号取值函数
sim 运行SIMULINK模型
simget 获取SIMULINK模型设置的仿真参数
simple 寻找最短形式的符号解
simplify 符号计算中进行简化操作
simset 对SIMULINK模型的仿真参数进行设置
simulink 启动SIMULINK模块库浏览器sin 正弦
sinh 双曲正弦
size 矩阵的大小
slice 立体切片图
solve 求代数方程的符号解
spalloc 为非零元素配置内存
sparse 创建稀疏矩阵
spconvert 把外部数据转换为稀疏矩阵spdiags 稀疏对角阵
spfun 求非零元素的函数值
sph2cart 球坐标变为直角坐标sphere 产生球面
spinmap 色图彩色的周期变化
spline 样条插值
spones 用1置换非零元素sprandsym 稀疏随机对称阵
sprank 结构秩
spring 紫黄调春色图
sprintf 把格式数据写成串
spy 画稀疏结构图
sqrt 平方根
sqrtm 方根矩阵
squeeze 删去大小为1的"孤维" sscanf 按指定格式读串
stairs 阶梯图
std 标准差
stem 二维杆图
step 阶跃响应指令
str2double 串转换为双精度值
str2mat 创建多行串数组
str2num 串转换为数
strcat 接成长串
strcmp 串比较
strjust 串对齐
strmatch 搜索指定串
strncmp 串中前若干字符比较
strrep 串替换
strtok 寻找第一间隔符前的内容struct 创建构架数组
struct2cell 把构架转换为元胞数组strvcat 创建多行串数组
sub2ind 多下标转换为单下标subexpr 通过子表达式重写符号对象subplot 创建子图
subs 符号计算中的符号变量置换subspace 两子空间夹角
sum 元素和
summer 绿黄调夏色图
superiorto 设定优先级
surf 三维着色表面图
surface 创建面对象
surfc 带等位线的表面图surfl 带光照的三维表面图
surfnorm 空间表面的法线
svd 奇异值分解
svds 求指定的若干奇异值
switch-case-otherwise 多分支结构
sym2poly 符号多项式转变为双精度多项式系数向量
symmmd 对称最小度排序
symrcm 反向Cuthill-McKee排序
syms 创建多个符号对象
T t
tan 正切
tanh 双曲正切
taylortool 进行Taylor逼近分析的交互界面text 文字注释
tf 创建传递函数对象
tic 启动计时器
title 图名
toc 关闭计时器
trapz 梯形法数值积分
treelayout 展开树、林
treeplot 画树图
tril 下三角阵
trim 求系统平衡点
trimesh 不规则格点网线图
trisurf 不规则格点表面图triu 上三角阵try-catch 控制流中的Try-catch结构type 显示M文件
U u
uicontextmenu 创建现场菜单
uicontrol 创建用户控件
uimenu 创建用户菜单
unmkpp 逐段多项式数据的反明晰化unwrap 自然态相角
upper 转换为大写字母
V v
var 方差
varargin 变长度输入宗量
varargout 变长度输出宗量
vectorize 使串表达式或内联函数适于数组运算
ver 版本信息的获取
view 三维图形的视角控制
voronoi V oronoi多边形
vpa 任意精度(符号类)数值
W w
warning 显示警告信息
what 列出当前目录上的文件
whatsnew 显示Matlab中Readme文件的内容
which 确定函数、文件的位置
while 控制流中的While环结构
white 全白色图矩阵
whitebg 指定轴的背景色
who 列出内存中的变量名
whos 列出内存中变量的详细信息
winter 蓝绿调冬色图
workspace 启动内存浏览器
X x , Y y , Z z
xlabel X轴名
xor 或非逻辑
yesinput 智能输入指令
ylabel Y轴名
zeros 全零数组
zlabel Z轴名
zoom 图形的变焦放大和缩小
ztrans 符号计算Z变换
⊙在matlab中clear,clc,clf,hold作用介绍 clear是清变量, clc只清屏, clf清除图形窗口上的旧图形, hold on是为了显示多幅图像时,防止新的窗口替代旧的窗口。 ①format:设置输出格式 对浮点性变量,缺省为format short. format并不影响matlab如何计算和存储变量的值。对浮点型变量的计算,即单精度或双精度,按合适的浮点精度进行,而不论变量是如何显示的。对整型变量采用整型数据。整型变量总是根据不同的类(class)以合适的数据位显示,例如,3位数字显示显示int8范围-128:127。 format short, long不影响整型变量的显示。 format long 显示15位双精度,7为单精度(scaled fixed point) format short 显示5位(scaled fixed point format with 5 digits) format short eng 至少5位加3位指数 format long eng 16位加至少3位指数 format hex 十六进制 format bank 2个十进制位 format + 正、负或零 format rat 有理数近似 format short 缺省显示 format long g 对双精度,显示15位定点或浮点格式,对单精度,显示7位定点或浮点格式。 format short g 5位定点或浮点格式 format short e 5位浮点格式 format long e 双精度为15位浮点格式,单精度为7为浮点格式 ②plot函数 基本形式 >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。 多重线 在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 >> x=0:pi/15:2*pi; >> y=sin(x); >> w=cos(x);
一. Matlab中常见函数基本用法 1.sum (1 )sum(A)A为矩阵得出A矩阵每列的和组成的一个矢量; A为矢量得出A的各元 素之和 (2)sum(diag(A))得矩阵A的对角元素之和 (3)sum(A,dim) A为矩阵,sum(A,1)按列求和;sum(A,2)按行求和 2.max(min) (1)max(A) 若A为矩阵则得出A矩阵每列的最大元素组成的一个矢量 若A为矢量则得出A中最大的元 (2)max(A,B) A与B为同维矩阵得出取A 与B中相同位置元素中较大者组成的新矩阵 (3)max(A,[],dim) max(a,[ ],1),求每列的最大值;max(a,[ ],2)求每行的最大值 3.find (1)find(X)若X为行向量则得出X中所有非零元素所在的位置(按行)若X为列向量或矩阵则得出X中所有非零元素的位置(按列)(2)ind = find(X, k)/ind = find(X,k,'first') 返回前k个非零元的指标ind = find(X,k,'last') 返回后k个非零元的指标 (3)[row,col] = find(X) row代表行指标,col代表列指标 [row,col,val] = find(X) val表示查找到对应位置非零元的值 [row,col] = find(A>100 & A<1000) 找出满足一定要求的元素 4.reshape (1)B = reshape(A,m,n) 把A变成m*n的矩阵 5.sort (1)B = sort(A) 把A的元素按每列从小到大的顺序排列组成新矩阵
(2)B = sort(A,dim) dim=1同(1); dim=2 把A按每行从小到大的顺序排列组成新矩阵 6.cat (1)C = cat(dim, A, B) dim=1相当于[A;B];dim=2相当于[A,B] (2)C = cat(dim, A1, A2, A3, A4, ...) 类推(1) 7.meshgrid (1)[X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制。(2)[X,Y] = meshgrid(x) (1)y=x中情形 8.diag (1)X = diag(v,k) 向量v作为X的第k对角线上的元素X的其他元素为零(2)X = diag(v) (1)中k=0的情况 (2)v = diag(X,k) v为矩阵X的第k对角线的元素组成的列向量 (4)v = diag(X) (3)中k等于零的情况
给自己看的----Matlab 的内部常数(转) 2008/06/19 14:01 [Ctrl C/V--学校 ] MATLAB 基本知识 Matlab 的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf 或 inf 无穷大 Matlab 的常用内部数学函数
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集
MATLAB中函数的调用形式MATLAB软件是一种可用于科技开发的高效率工具软件,它将科学计算、函数绘图与快速编程集于一体,不仅功能强大,而且易学易用,深受广大科技工作者和理工科大学生的喜爱。正在逐渐成为理工科大学生必须掌握的基本工具。 1.求函数导数的命令,调用格式是: (1)y=diff(‘f(x)’) (2)diff(‘f(x)’) (3)y=’ f(x)’ ;diff(y,’x’) (4)syms 各种变量; y=f(x);diff(y,x) 一般调用格式是: diff(y,x,n) 2.定义符号变量,一般形式: syms x y a b t 注解: syms是定义符号变量的命令, 被定义的多个变量之间用空格隔开。 3.转变一个符号表达式S的显示形式: pretty(S) 注解:pretty(S)的作用是将符号表达式S显示成更符合数学习惯的形式。 4.输入格式: fplot (‘f(x)’,[X的左界,X的右界,Y的左界,Y 的右界] 注意:●在书写运算语句时,屏幕的同一行可以同时有多个语句, 但语句之间必须用逗号或分号隔开; ●命令语句以分号结尾时,屏幕不显示运行结果; ●命令语句以逗号或不用标点结尾时,屏幕将显示运行结果。
a=100/12 %显示格式为默认的短型实数格式 format rat %显示格式转换为有理格式a format long %显示格式转换为长型实数格式 a format %还原为默认的短型实数格
5.使用clear命令可以删除所有定义过的变量, 如果只是要删除其中的某几个变量,则应在clear后面指明要删除的变量名称。 6.使用clc 命令可以清除屏幕上所有显示的内容, 但不会删除内存中的变量 7.MATLAB提供了大量的函数,可以满足各种运算需要。(1)使用命令help elfun 可列出所有的初等数学函数名。(2)使用命令help elmat可列出大量的矩阵函数名。
给自己看的----Matlab的内部常数(转) 2008/06/19 14:01[Ctrl C/V--学校 ] MATLAB基本知识 Matlab的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或inf 无穷大 Matlab的常用内部数学函数
我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集
1、Size 函数用法 例如:1,2,3;4,5,6]是一个2*3的矩阵,则: d = size(X); %返回矩阵的行数和列数,保存在d中 [m,n] = size(X)%返回矩阵的行数和列数,分别保存在m和n中 m = size(X,dim);%返回矩阵的行数或列数,dim=1返回行数,dim=2返回列数 2、Corrcoef 函数用法 corrcoef(x,y)表示序列x和序列y的相关系数,得到的结果是一个2*2矩阵,其中对角线上的元素分别表示x和y的自相关,非对角线上的元素分别表示x 与y的相关系数和y与x的相关系数,两个是相等的 3、sort函数用法 sort(X) 功能:返回对向量X中的元素按列升序排列的新向量。 [Y, I] = sort(A, dim, mode) 功能:对矩阵A的各列或各行重新排序,I记录Y中的元素在排序前A中位置,其中dim指明读A的列还是行进行排序。若dim=1,则按列排序;若dim=2,则按行排序。mode为排序的方式,取值'ascend'为升序,'descend'为降序 4、Legend 函数用法 legend(string1,string2,string3,┈) 分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。 例如: plot(x,sin(x),?.b?,x,cos(x),?+r?) legend(…sin?,?cos?) //这样就可以把”.”标识为”sin”,把”+”标识为“cos” 5、find 函数用法 找到非零元素的索引和值 语法: 1. ind = find(X) 2. ind = find(X, k) 3. ind = find(X, k, 'first') 4. ind = find(X, k, 'last') 5. [row,col] = find(X, ...) 6. [row,col,v] = find(X, ...) 说明: 1. ind = find(X)
第2章MATLAB数据及其运算 1.矩阵的表示:将矩阵的方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素用分号分隔; 2.利用M文件建立矩阵 对于比较大且复杂的矩阵,可以为它专门建立一个M文件; 3.建立大矩阵 大矩阵可由方括号中的小矩阵建立起来; 4.冒号表达式 利用冒号表达式可以产生行向量,一般格式是:e1:e2:e3;其中e1为初始值,e2为步长,e3为终止值。即冒号表达式可产生一个由e1开始到e3结束,以步长e2自增的行向量。若冒号表达式中省略e2不写,则步长为1. 注:MATLAB中还可以用linspace函数产生行向量;其调用格式为:linspace(a,b,n) 其中a和b是生成向量的第一个和最后一个元素,n是元素总数。当n省略时,自动产生100个元素;显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。当步长不方便计算或小数位数较多时用linspace函数很方便。 5.矩阵元素 MATLAB允许对一个矩阵的单个元素进行赋值和操作,矩阵A的第3行第2列元素赋值,A(3,2)=200;此时,只改变该元素的值,对其他元素无影响。如果给出的行下标或列下标大于原矩阵的行数或列数,则将自动扩展原来的矩阵,扩展后未赋值的矩阵元素将置为0. 也可以用矩阵元素的序号来引用矩阵元素,矩阵元素序号就是相应元素在内存中的排列顺序,矩阵元素按列编号,先第一列,再第二列,依次类推。 size(A)函数返回包含两个元素的向量,分别是矩阵A的行数和列数。length(A)给出行数和列数中的较大者,即length(A)=max(size(A))。 6.矩阵拆分 利用冒号表达式获得子知阵:(1)A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵的第i行、第j列的元素;(2)A(i:i+m,:)表示取A矩阵第i-i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k-k+m列的全部元素;A(i:i+m,k:k+m)表示取A矩阵第i-i+m行内,并在第k-k+m列中的所有元素;(3)A(:)将矩阵A每一列元素堆叠起来,成为一个向量,相当于reshape(A,m,1); 7.利用空矩阵删除矩阵的元素 定义[]为空矩阵。给变量X赋空矩阵的语句为X=[].将某些元素从矩阵中删除,采用将其置为空矩阵的方法就是一种有效的方法。 8.矩阵的基本算术运算 矩阵的运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。 矩阵加减运算:两个矩阵的维数相同才可以进行加减运算,否则给出错误信息。一个标量也可以和其他不同维数的矩阵进行加减运算,即每个元素都加上这个标量。 矩阵乘法运算:要求矩阵A的列数与B矩阵的行数相等。矩阵与标量相乘,即矩阵中的每个元素与此标量相乘。 矩阵除法:\左除;/右除;A\B等效于A的逆左乘B矩阵,也就是inv(A)*B;而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。对于矩阵运算,一般A\B≠B/A.对于含有标量的运算,两种除法运算的结果相同,如3/4和4\3有相同的值。 矩阵的乘方:一个矩阵的乘方可以表示为A^x,要求A为方阵,x为标量。 9.点运算 .*,./,.\,.^。两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵维数相同。 若A,B两矩阵具有相同的维数,则A./B等价于B.\A.若两个矩阵维数一致,则A.^B表示两矩阵对应元素进行乘方运算。指数可以是标量,底也可以是标量。
数字信号处理与MATLAB 实现 1. n1=[ns:nf]; x1=[zeros(1,n0-ns),1,zeros (1,nf-n0)]; %单位抽样序列的产生 2. subplot(2,2,4) 画2行2列的第4个图 3. stem(n,x) %输出离散序列,(plot 连续) 4. 编写子程序可调用 4.1 单位抽样序列)(0n n -δ生成函数impseq.m [x,m]=impseq(n0,ns,nf); %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位脉冲 n=[-5:5];x1=3*impseq(2,-5,5)-impseq(-4,-5,5) x1 = 0 -1 0 0 0 0 0 3 0 0 0 n=[-5:5];x1=3*impseq(2,-4,5)-impseq(-4,-5,4) %起点到终点长度要一致 x1 = 0 -1 0 0 0 0 3 0 0 0 4.2 单位阶跃序列)(0n n u -生成函数stepseq.m [x,n]=stepseq(no,ns,nf) %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位阶跃 4.3 两个信号相加的生成函数sigadd.m [y,n]=sigadd(x1,n1,x2,n2) 4.4 两个信号相乘的生成函数sigmult.m [y,n]=sigmult(x1,n1,x2,n2) 4.5 序列移位y(n)=x(n-n0)的生成函数sigshift.m [y,n]=sigshift(x,m,n0) 4.6 序列翻褶y(n)=x(-n)的生成函数sigfold.m [y,n]=sigfold(x,n) 4.7 evenodd.m 函数可以将任一给定的序列x(n)分解为xe(n)和xo(n)两部分 [xe,xo,m]=evenodd(x,n) 4.8 序列从负值开始的卷积conv_m, conv 默认从0开始 function [y,ny]=conv_m(x,nx,h,nh) 有{x(n):nx1≤n ≤nx2},{h(n):nh1≤n ≤nh2}, 卷积结果序列为 {y(n):nx1+nh1≤n ≤nx2+nh2} 例. 设1132)(-++=z z z X ,1225342)(-+++=z z z z X ,求)()()(21z X z X z Y += 程序: x1=[1,2,3];n1=-1:1; x2=[2,4,3,5];n2=-2:1; [y,n]=conv_m(x1,n1,x2,n2)
1、求组合数 C,则输入: 求k n nchoosek(n,k) 例:nchoosek(4,2) = 6. 2、求阶乘 求n!.则输入: Factorial(n). 例:factorial(5) = 120. 3、求全排列 perms(x). 例:求x = [1,2,3]; Perms(x),输出结果为: ans = 3 2 1 3 1 2 2 3 1 2 1 3 1 2 3 1 3 2 4、求指数 求a^b:Power(a,b) ; 例:求2^3 ; Ans = pow(2,3) ; 5、求行列式 求矩阵A的行列式:det(A); 例:A=[1 2;3 4] ; 则det(A) = -2 ; 6、求矩阵的转置 求矩阵A的转置矩阵:A’ 转置符号为单引号. 7、求向量的指数 求向量p=[1 2 3 4]'的三次方:p.^3 例: p=[1 2 3 4]' A=[p,p.^2,p.^3,p.^4] 结果为:
注意:在p 与符号”^”之间的”.”不可少. 8、求自然对数 求ln(x):Log(x) 例:log(2) = 0.6931 9、求矩阵的逆矩阵 求矩阵A 的逆矩阵:inv(A) 例:a= [1 2;3 4]; 则 10、多项式的乘法运算 函数conv(p1,p2)用于求多项式p1和p2的乘积。这里,p1、p2是两个多项式系数向量。 例2-2 求多项式43810x x +-和223x x -+的乘积。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; c=conv(p1,p2) 11、多项式除法 函数[q ,r]=deconv(p1,p2)用于多项式p1和p2作除法运算,其中q 返回多项式p1除以p2的商式,r 返回p1除以p2的余式。这里,q 和r 仍是多项式系数向量。 例2-3 求多项式43810x x +-除以多项式223x x -+的结果。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; [q,r]=deconv(p1,p2) 12、求一个向量的最大值 求一个向量x 的最大值的函数有两种调用格式,分别是:
==等于 <小于 >大于 <=小于或等于>=大于或等于~=不等于 4 常用内部数学函数 指数函数exp(x)以e为底数 对数函数log(x)自然对数,即以e为底数的对数log10(x)常用对数,即以10为底数的对数log2(x)以2为底数的x的对数 开方函数sqrt(x)表示x的算术平方根
绝对值函数abs(x)表示实数的绝对值以及复数的模 三角函数(自变量的单位为弧度)sin(x)正弦函数cos(x)余弦函数tan(x)正切函数cot(x)余切函数sec(x)正割函数csc(x)余割函数 反三角函数asin(x)反正弦函数acos(x)反余弦函数atan(x)反正切函数acot(x)反余切函数asec(x)反正割函数acsc(x)反余割函数 双曲函数sinh(x)双曲正弦函数cosh(x)双曲余弦函数tanh(x)双曲正切函数coth(x)双曲余切函数sech(x)双曲正割函数csch(x)双曲余割函数 反双曲函数asinh(x)反双曲正弦函数acosh(x)反双曲余弦函数atanh(x)反双曲正切函数acoth(x)反双曲余切函数asech(x)反双曲正割函数acsch(x)反双曲余割函数 求角度函数atan2(y,x)以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度,范围为( , ] 数论函数gcd(a,b)两个整数的最大公约数lcm(a,b)两个整数的最小公倍数
排列组合函数factorial(n)阶乘函数,表示n的阶乘 复数函数real(z)实部函数 imag(z)虚部函数 abs(z)求复数z的模 angle(z) 求复数z的辐角,其范围是( , ] conj(z)求复数z的共轭复数 求整函数与截尾函数ceil(x)表示大于或等于实数x的最小整数floor(x)表示小于或等于实数x的最大整数round(x)最接近x的整数 最大、最小函数max([a,b,c,...]) 求最大数min([a,b, c,..]) 求最小数 符号函数 sign(x)
表2.1基本矩阵和矩阵运算(elmat)(d) 基本矩阵zeros全零矩阵(m×n)logspace对数均分向量1×n维数组ones全一矩阵(m×n)Freqspace频率特性的频率区间 rand随机数矩阵(m×n)meshgrid画三维曲面时的X,Y网格randn正态随机数矩阵(m×n)Linspace均分向量(1×n维数组)Eye(n)单位矩阵(方阵)…(竖的)将元素按列取出排成一列 特殊变量和函数ans最近的答案inf Infinity(无穷大)eps浮点数相对精度NaN Not-a-Number(非数)realmax最大浮点实数flops浮点运算次数realmin最小浮点实数computer计算机类型 pi 3.14159235358579inputname输入变量名 i,j虚数单位size多维矩阵的各维长度length一维矩阵的长度 矩阵结构提取和变换cat*链接数组diag提取或建立对角阵 fliplr矩阵左右翻转ind2sub把元素序号变为矩阵下标flipud矩阵上下翻转sub2ind把矩阵下标变为元素序号repmat复制和排成矩阵tril取矩阵的左下三角部分reshape维数重组triu去矩阵的右上三角部分rot90矩阵整体逆时针旋转90° 特殊矩阵company Companion矩阵magic魔方矩阵 gallery Higham测试矩阵pascal Pascal矩阵 hadamard Hadamard矩阵rosser经典的对称特征值测试问题hankle Hankle矩阵Toeplitz Toeplitz矩阵 hilb Hilbert矩阵vander vandermonde矩阵 invhilb Hilbert逆矩阵wilkinson Wilkinson’s特征值测试矩阵表2.5简单的元素群运算 运算式输出结果z=x.*y z=41018 z=x.\y z=4.0000 2.5000 2.0000 z=x.^y z=132729 z=x.^2z=149 z=2.^[x y]z=248163264 注:x=[1,2,3]y=[4,5,6]
自动控制常见MATLAB 函数的应用 roots/conv/rlocus/zpk/tf/bode/step/impulse 1、 在matlab 中采用roots 函数求解多项式的根,采用conv 函数实 现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G 1±G2(3)、反馈连接命令G=feedback (G1,G2,Sign )(sign 用来表示系统是正反馈或负反馈,sign=-1为负反馈) 例如:① 程序如下: >> p=[1 3 0 4]; >> roots(p) ans = -3.3553 0.1777 + 1.0773i 0.1777 - 1.0773i ②、用matlab 实现: 程序如下: >> p=[3 2 1];q=[1 4]; >> n=conv(p,q) n = 3 1 4 9 4 ③、一个传递函数模型, 32()34p s s s =++2 ()(321)(4)n s s s s =+++325()345 s G s s s s +=+++
可以由下面的命令输入: >> num=[1 5];den=[1 3 4 5]; >> G=tf(num,den) Transfer function: s + 5 --------------------- s^3 + 3 s^2 + 4 s + 5 ④、如下图所示,前向传递函数为G (S ),反馈回路传递函数为H(S),利用feedback 计算系统的闭环传递函数 程序如下: >> numg=[1];deng=[500 0 0]; >> numh=[1 1];denh=[1 2]; >> [num,den]=feedback(numg,deng,numb,denh,-1); >> [num,den]=feedback(numg,deng,numh,denh,-1); >> G=tf(num,den) () R S ???
一、MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数sin(x):正弦函数 cos(x):馀弦函数 tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数
sinh(x):超越正弦函数cosh(x)
:超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有:min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting) length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度 sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和 cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数i或j:基本虚数单位(即) eps:系统的浮点(Floating-point)精确度 inf:无限大,例如1/0 nan或NaN:非数值(Not a number),例如0/0 pi:圆周率 p(= 3.1415926...) realmax:系统所能表示的最大数值 realmin:系统所能表示的最小数值 nargin: 函数的输入引数个数 nargin: 函数的输出引数个数
matlab画图函数 1.绘制二维曲线的最基本函数plot 2.双纵坐标函数plotyy 3. 坐标控制 函数的调用格式为: axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的用法还有: axis equal 纵、横坐标轴采用等长刻度 axis square 产生正方形坐标系(缺省为矩形) axis auto 使用缺省设置 axis off 取消坐标轴 axis on 显示坐标轴 grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。 box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。 4.图形窗口的分割 subplot函数的调用格式为: subplot(m,n,p) 5.绘制二维图形的其他函数 1. 其他形式的线性直角坐标图 在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是: bar(x,y,选项) stairs(x,y,选项) stem(x,y,选项) fill(x1,y1,选项1,x2,y2,选项2,…) 6.极坐标图 polar函数用来绘制极坐标图,其调用格式为: polar(theta,rho,选项) 其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。 7.对数坐标图形 MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…)
semilogy(x1,y1,选项1,x2,y2,选项2,…) loglog(x1,y1,选项1,x2,y2,选项2,…) 8.对函数自适应采样的绘图函数 fplot函数的调用格式为: fplot(fname,lims,tol,选项) 9.绘制三维曲线的最基本函数 plot3函数与plot函数用法十分相似,其调用格式为: plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 10.三维曲面 1.平面网格坐标矩阵的生成 (1)利用矩阵运算生成。 x=a:dx:b; y=(c:dy:d)'; X=ones(size(y))*x; Y=y*ones(size(x)); (2)利用meshgrid函数生成。 x=a:dx:b; y=c:dy:d; [X,Y]=meshgrid(x,y); 10.绘制三维曲面的函数 surf函数和mesh函数的调用格式为: mesh(x,y,z,c) surf(x,y,z,c) 标准三维曲面 sphere函数的调用格式为: [x,y,z]=sphere(n) cylinder函数的调用格式为: [x,y,z]=sphere(R,n) MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。 11.其他三维图形 条形图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、pie3和fill3。此外,还有三维曲面的等高线图。等高线图分二维和三维两种形式,分别使用函数contour和contour3绘制。
matlab中subplot函数的功能 功能 分割figure,创建子坐标系 语法 h = subplot(m,n,p) or subplot(mnp) subplot(m,n,p,'replace') subplot(m,n,P) subplot(h) subplot('Position',[left bottom width height]) subplot(..., prop1, value1, prop2, value2, ...) h = subplot(...) 描述 ★h=subplot(m,n,p)/subplot(mnp)将figure划分为m×n块,在第p块创建坐系,并返回它的句柄。当m,n,p<10时,可以简化为subplot(mnp) 或 subplot mnp(注:subplot(m,n,p) 或者 subplot(m n p)此函数最常用:subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure 中有n个图是排成一行的,一共m行,如果第一个数字是2就是表示2行图。p 是指你现在要把曲线画到figure中哪个图上,最后一个如果是1表示是从左到右第一个位置。) ★subplot(m,n,p,'replace')如果所指定的坐标系已存在,那创建新坐标系替换★subplot(m,n,P) 此时p为向量,表示将P中指定的小块合并成一个大块创建坐标系,P中指定的小块可以不连续,甚至不相连。比如subplot(2,3,[2 5])表示将第2和5小块连成一个大块;subplot(2,3,[2 6])由于2和6不连续也不相连,此时表示将第2、3、5和6四块连成一个大块,相当于subplot(2,3,[2 3 5 6]) ★subplot(h)将坐标系h设为当前坐标系,相当于axes(h) ★subplot('Position',[left bottom width height])在指定位置创建一个新坐标系,等效于axes('Position',[left bottom width height]) ★subplot(..., prop1, value1, prop2, value2, ...)在创建坐标系时,同时设置相关属性,a x e s属性参见附录 ★h = subplot(...) 返回所创建坐标系的句柄. Linspace函数 功能:linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。在matlab的命令窗口下输入help linspace或者doc linspace可以获得该函数的帮助信息。 表达式:a=linspace(first,last,n)其中的n为元素总数,即为:(last-first)+1=n; 相关函数:logspace 用法:x=logspace(a, b, n)
一、Matlab7.0函数及运算命令 1、运算符: +:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度)Cot( ) 余切(变量为弧度)sind( ) 正弦(变量为度数)Cotd( ) 余切(变量为度数)asin( ) 反正弦(返回弧度)acot( ) 反余切(返回弧度)Asind( ) 反正弦(返回度数)acotd( ) 反余切(返回度数)cos( ) 余弦(变量为弧度)exp( ) 指数 cosd( ) 余弦(变量为度数)log( ) 对数 acos( ) 余正弦(返回弧度)log10( ) 以10为底对数acosd( ) 余正弦(返回度数)sqrt( ) 开方 tan( ) 正切(变量为弧度)realsqrt( ) 返回非负根 tand( ) 正切(变量为度数)abs( ) 取绝对值 atan( ) 反正切(返回弧度)angle( ) 返回复数的相位角atand( ) 反正切(返回度数)mod(x,y) 返回x/y的余数sum( ) 向量元素求和 3、其余函数可以用help elfun和help specfun命令获得。 4、常用常数的值: pi 3.1415926……. realmin 最小浮点数,2^-1022 i 虚数单位 realmax 最大浮点数,(2-eps)2^1022 j 虚数单位 Inf 无限值 eps 浮点相对经度=2^-52 NaN 空值 二、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键Ctrl+P 返回前一行输入 方向下键Ctrl+N 返回下一行输入 方向左键Ctrl+B 光标向后移一个字符 方向右键Ctrl+F 光标向前移一个字符 Ctrl+方向右键Ctrl+R 光标向右移一个字符 Ctrl+方向左键Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾
数字信号处理与MA TLAB 实现 1. n1=[ns:nf]; x1=[zeros(1,n0-ns),1,zeros (1,nf-n0)]; %单位抽样序列的产生 2. subplot(2,2,4) 画2行2列的第4个图 3. stem(n,x) %输出离散序列,(plot 连续) 4. 编写子程序可调用 4.1 单位抽样序列)(0n n -δ生成函数impseq.m [x,m]=impseq(n0,ns,nf); %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位脉冲 n=[-5:5];x1=3*impseq(2,-5,5)-impseq(-4,-5,5) x1 = 0 -1 0 0 0 0 0 3 0 0 0 n=[-5:5];x1=3*impseq(2,-4,5)-impseq(-4,-5,4) %起点到终点长度要一致 x1 = 0 -1 0 0 0 0 3 0 0 0 4.2 单位阶跃序列)(0n n u -生成函数stepseq.m [x,n]=stepseq(no,ns,nf) %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位阶跃 4.3 两个信号相加的生成函数sigadd.m [y,n]=sigadd(x1,n1,x2,n2) 4.4 两个信号相乘的生成函数sigmult.m [y,n]=sigmult(x1,n1,x2,n2) 4.5 序列移位y(n)=x(n-n0)的生成函数sigshift.m [y,n]=sigshift(x,m,n0) 4.6 序列翻褶y(n)=x(-n)的生成函数sigfold.m [y,n]=sigfold(x,n) 4.7 evenodd.m 函数可以将任一给定的序列x(n)分解为xe(n)和xo(n)两部分 [xe,xo,m]=evenodd(x,n) 4.8 序列从负值开始的卷积conv_m, conv 默认从0开始 function [y ,ny]=conv_m(x,nx,h,nh) 有{x(n):nx1≤n ≤nx2},{h(n):nh1≤n ≤nh2}, 卷积结果序列为{y(n):nx1+nh1≤n ≤nx2+nh2} 例. 设1132)(-++=z z z X ,1225342)(-+++=z z z z X ,求)()()(21z X z X z Y += 程序: x1=[1,2,3];n1=-1:1; x2=[2,4,3,5];n2=-2:1; [y,n]=conv_m(x1,n1,x2,n2) 结果: y = 2 8 17 2 3 19 15 n = -3 -2 -1 0 1 2 因此21231519231782)(--+++++=z z z z z z Y