MATLAB总结
一MATLAB常用函数
1、特殊变量与常数
ans | 计算结果的变量名 | computer | 确定运行的计算机 |
eps | 浮点相对精度 | Inf | 无穷大 |
I | 虚数单位 | inputname | 输入参数名 |
NaN | 非数 | nargin | 输入参数个数 |
nargout | 输出参数的数目 | pi | 圆周率 |
nargoutchk | 有效的输出参数数目 | realmax | 最大正浮点数 |
realmin | 最小正浮点数 | varargin | 实际输入 的参量 |
varargout | 实际返回的参量 | ||
2、操作符与特殊字符
+ | 加 | - | 减 |
* | 矩阵乘法 | .* | 数组乘对应元素相乘 |
^ | 矩阵幂 | .^ | 数组幂各个元素求幂 |
\ | 左除或反斜杠 | / | 右除或斜面杠 |
./ | 数组除对应元素除 | kron | Kronecker张量积 |
: diff函数 | 冒号 | 圆括 | |
方括 | . | 小数点 | |
.. | 父目录 | ... | 继续 |
; | 逗号分割多条命令 | ; | 分号禁止结果显示 |
% | 注释 | 感叹号 | |
' | 转置或引用 | = | 赋值 |
== | 相等 | <> | 不等于 |
& | 逻辑与 | | | 逻辑或 |
~ | 逻辑非 | xor | 逻辑异或 |
3、基本数学函数
abs | 绝对值和复数模长 | acos;acodh | 反余弦;反双曲余弦 |
acot;acoth | 反余切;反双曲余切 | acsc;acsch | 反余割;反双曲余割 |
angle | 相角 | asec;asech | 反正割;反双曲正割 |
secant | 正切 | asin;asinh | 反正弦;反双曲正弦 |
atan;atanh | 反正切;双曲正切 | tangent | 正切 |
atan2 | 四象限反正切 | ceil | 向着无穷大舍入 |
complex | 建立一个复数 | conj | 复数配对 |
cos;cosh | 余弦;双曲余弦 | csc;csch | 余切;双曲余切 |
cot;coth | 余切;双曲余切 | exp | 指数 |
fix | 朝0方向取整 | floor | 朝负无穷取整 |
gcd | 最大公因数 | imag | 复数值的虚部 |
lcm | 最小公倍数 | log | 自然对数 |
log2 | 以2为底的对数 | log10 | 常用对数 |
mod | 有符号的求余 | nchoosek | 二项式系数和全部组合数 |
real | 复数的实部 | rem | 相除后求余 |
round | 取整为最近的整数 | sec;sech | 正割;双曲正割 |
sign | 符号数 | sin;sinh | 正弦;双曲正弦 |
sqrt | 平方根 | tan;tanh | 正切;双曲正切 |
4、基本矩阵和矩阵操作
blkding | 从输入参量建立块对角矩阵 | eye | 单位矩阵 |
linespace | 产生线性间隔的向量 | logspace | 产生对数间隔的向量 |
numel | 元素个数 | ones | 产生全为1的数组 |
rand | 均匀颁随机数和数组 | randn | 正态分布随机数和数组 |
zeros | 建立一个全0矩阵 | :colon | 等间隔向量 |
cat | 连接数组 | diag | 对角矩阵和矩阵对角线 |
fliplr | 从左自右翻转矩阵 | flipud | 从上到下翻转矩阵 |
repmat | 复制一个数组 | reshape | 改造矩阵 |
roy90 | 矩阵翻转90度 | tril | 矩阵的下三角 |
triu | 矩阵的上三角 | dot | 向量点集 |
cross | 向量叉集 | ismember | 检测一个集合的元素 |
intersect | 向量的交集 | setxor | 向量异或集 |
setdiff | 向是的差集 | union | 向量的并集 |
5、数值分析和傅立叶变换
cumprod | 累积 | cumsum | 累加 |
cumtrapz | 累计梯形法计算数值微分 | factor | 质因子 |
inpolygon | 删除多边形区域内的点 | max | 最大值 |
mean | 数组的均值 | mediam | 中值 |
min | 最小值 | perms | 所有可能的转换 |
polyarea | 多边形区域 | primes | 生成质数列表 |
prod | 数组元素的乘积 | rectint | 矩形交集区域 |
sort | 按升序排列矩阵元素 | sortrows | 按升序排列行 |
std | 标准偏差 | sum | 求和 |
trapz | 梯形数值积分 | var | 方差 |
del2 | 离散拉普拉斯 | diff | 差值和微分估计 |
gradient | 数值梯度 | cov | 协方差矩阵 |
corrcoef | 相关系数 | conv2 | 二维卷积 |
conv | 卷积和多项式乘法 | filter | IIR或FIR滤波器 |
deconv | 反卷积和多项式除法 | filter2 | 二维数字滤波器 |
cplxpair | 将复数值分类为共轭对 | fft | 一维的快速傅立叶变换 |
fft2 | 二维快速傅立叶变换 | fftshift | 将FFT的DC分量移到频谱中心 |
ifft | 一维快速反傅立叶变换 | ifft2 | 二维傅立叶反变换 |
ifftn | 多维快速傅立叶变换 | ifftshift | 反FFT偏移 |
nextpow2 | 最靠近的2的幂次 | unwrap | 校正相位角 |
6、多项式与插值
conv | 卷积和多项式乘法 | roots | 多项式的根 |
poly | 具有设定根的多项式 | polyder | 多项式微分 |
polyeig | 多项式的特征根 | polyfit | 多项式拟合 |
polyint | 解析多项式积分 | polyval | 多项式求值 |
polyvalm | 矩阵变量多项式求值 | residue | 部分分式展开 |
interp1 | 一维插值 | interp2 | 二维插值 |
interp3 | 三维插值 | interpft | 使用FFT的一维插值 |
interpn | 多维插值 | meshgrid | 为3维点生成x和y的网格 |
ndgrid | 生成多维函数和插值的数组 | pchip | 分段3次Hermite插值多项式 |
ppval | 分段多项式的值 | spline | 3次样条数据插值 |
7、绘图函数
bar | 竖直条图 | barh | 水平条图 |
hist | 直方图 | histc | 直方图计数 |
hold | 保持当前图形 | loglog | x;y对数坐标图 |
pie | 饼状图 | plot | 绘二维图 |
polar | 极坐标图 | semilogy | y轴对数坐标图 |
semilogx | x轴对数坐标 | subplot | 绘制子图 |
bar3 | 数值3D竖条图 | bar3h | 水平3D条形图 |
comet3 | 3D慧星图 | cylinder | 圆柱体 |
fill3 | 填充的3D多边形 | plot3 | 3维空间绘图 |
quiver3 | 3D震动速度图 | slice | 体积薄片图 |
sphere | 球 | stem3 | 绘制离散表面数据 |
waterfall | 绘制瀑布 | trisurf | 三角表面 |
clabel | 增加轮廓标签到等高线图中 | datetick | 数据格式标记 |
grid | 加网格线 | gtext | 用鼠标将文本放在2D图中 |
legend | 图注 | plotyy | 左右边都绘Y轴 |
title | 标题 | xlabel | X轴标签 |
ylabel | Y轴标签 | zlabel | Z轴标签 |
contour | 等高线图 | contourc | 等高线计算 |
contourf | 填充的等高线图 | hidden | 网格线消影 |
meshc | 连接网格/等高线 | mesh | 具有参考轴的3D网格 |
peaks | 具有两个变量的采样函数 | surf | 3D阴影表面图 |
surface | 建立表面低层对象 | surfc | 海浪和等高线的结合 |
surfl | 具有光照的3D阴影表面 | trimesh | 三角网格图 |
二Matlab工作间常用命令:
1、常用的窗口命令
help | 启动联机帮助文件显示 | which | 出函数与文件所在的目录名 |
what | 列出当前目录下的有关文件 | demo | 运行MATLAB的演示程序 |
type | 列出M文件 | path | 设置或查询MATLAB路径 |
lookfor | 对help信息中的关键词查 | ||
2、有关文件及其操作的语句
cd | 改变当前的工作目录 | dir | 列出当前目录的内容 |
delete | 删除文件 | getenv | 获得环境参数 |
unix | 执行操作系统命令并返回结果 | diary | 将MATLAB运行的命令存盘 |
fopen | 打开文件 | fclose | 关闭文件 |
fread | 从文件中读取二进制数据 | fwrite | 向文件中写二进制数据 |
fscanf | 从文件读取格式化数据 | fprintf | 将格式化数据写入文件 |
fgetl | 从文件中读行并放弃换行符 | fgets | 从文件中读行并保持换行符 |
ferror | 查询文件的输入输出的错误信息 | feof | 检查文件结束标志 |
fseek | 设置文件位置指针 | ftell | 得到文件位置指针位置 |
prewind | 反绕一个打开的文件 | tempname | 建立临时的文件名 |
tempdir | 返回已存在的临时目录名 | whech | 查指定文件的路径 |
3、启动与退出的命令
quit;exit | 退出MATLAB环境 | startup | MATLAB自启动文件 |
matlabrc | 启动主程序 | ||
4、管理变量工作空间的命令
who | 简要列出工作空间变量名 | whos | 详细列出工作空间变量名 |
load | 从文件中读入变量 | save | 列出工作空间中变量存盘 |
clear | 删除内存中的变量与函数 | pack | 整理工作空间的内存 |
size | 查询矩阵的维数 | disp | 显示矩阵和文本 |
length | 查询矢量的维数 | diary | 保存工作空间文本到文件 |
type | 在工作空间查看文件内容 | clf | 清除图形窗口内容 |
5、对命令窗口控制的常用命令
cedit | 设置命令行编辑与回调的参数 | clc | 清除命令窗口中的显示 |
home | 将光标移动到左上角位置 | format | 设置输出格式 |
echo | 显示文件中的MATLAB命令 | more | 控制命令窗口的输出页面 |
6、此外还有一些常用的命令:
↑ 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 中断程序运行
三Matlab 运行加速
1)性能加速
a、采用如下数据类型:logical、char、int、uint、double;
b、数据维数不超过3;
c、for循环范围内只采用标量值;只调用内建函数..if 、else if 、while、swicth的条件测试语句只采用标量;
d、同一行的命令条数为一条;
e、命令操作为改变数据类型或者形状大小;维数;
f、复数写为:a+bj型;
2遵守3条准则
a、避免使用循环语句将循环语句向量化:向量化技术函数有All、diff、ipermute、permute、reshape、squeeze、any、find、logical、prod、shiftdim、sub2ind、cumsum、ind2sub、ndgrid、repmat、sort、sum 等;不得不使用循环语句时;超过2重;循环次数少的在外环;
b、预分配矩阵空间函数有:zeros、ones、cell、struct、repmat和采用repmat函数对非double 型预分配空间或对一个变量扩容;
c、优先使用内建函数和function;
3绝招:采用Mex技术;或者利用matlab提供的工具将程序转化为C语言、Fortran语言
注意:比较向量化和加速器;加速之前采用profiler测试各部分耗时情况..
SIMILINK模块库按功能进行分为以下8类子库:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论