资源描述
matlab常用操作备忘
———————————————————————————————— 作者:
———————————————————————————————— 日期:
18
个人收集整理 勿做商业用途
matlab常用操作备忘
*********************************
matlab常用操作备忘
(1)管理命令和函数
addpath :添加目录到MATLAB搜索路径
doc :在Web浏览器上现实HTML文档
help :显示Matlab命令和M文件的在线帮助
helpwin
helpdesk :help 兄弟几个
lookfor :在基于Matlab搜索路径的所有M文件中搜索关键字
partialpath:部分路径名 8*)
path :所有关于路径名的处理
pathtool :一个不错的窗口路径处理界面
rmpath :删除搜索路径中指定目录
type :显示指定文件的内容
ver :版本信息
version :版本号
web :打开web页
what :列出当前目录下所有的M文件 Mat文件和 Mex文件
whatsnew :显示readme文件
which :显示文件位置
(2)管理变量和工作区
clear :从内存中删除所有变量,clear x y z是删除某个变量
disp :显示文本或数组内容
length :数组长度(最长维数)
load :重新载入变量(从磁盘上)
mlock :锁定文件,防止文件被错误删除
munlock :解锁文件
openvar :在数组编辑器中打开变量
pack :整理内存空间
save :保存变量到文件 8*)
size :数组维数
who
whos :列出内存变量
workspace :显示工作空间窗口
(3)管理命令控制窗口(command窗口)
clc :清空命令窗口
echo :禁止或允许显示执行过程
format :设置输出显示格式
home :光标移动到命令窗口左上角
more :设置命令窗口页输出格式
(4)文件和工作环境
cd :改变工作目录
copyfile :复制文件
delete :删除文件和图形对象
diary :把命令窗口的人机交互保存到文件
dir :显示目录
edit :编辑文本文件
fileparts :返回文件的各个部分
fullfile :使用指定部分建立文件全名
inmem :返回内存(伪代码区)的matlab函数名
ls :在unix系统中列出目录(win中亦可)
matlabroot :根目录
mkdir :新建目录
open :打开文件
pwd :显示当前目录
tempdir :返回系统临时目录的名字
tempname :随机给出一个临时字符串(可用作文件名)
! :直接调用操作系统command命令
(5)启动和推出matlab
matlabrc :Matlab的启动M文件
exit
quit :退出Matlab
startup :运行matlab启动文件
(6)程序设计
builtin :从可重载方法中调用内置函数
:执行包含可执行表达式的字符串
c :计算并返回表达式的值
in :执行某个工作空间中的包含表达式的字符串
f :执行函数(从函数名或函数句柄)
function :函数头
global :定义全局变量
nargchk :检查输入参数数目
persistent :定义常量
script :作为脚本的M文件
(7)流程控制
break :停止执行循环
case :case语句,switch语句一部分
switch switch_expr
case case_expr
statments
case
otherwise
end
catch :try—catch语句一部分,捕捉程序
else :if条件语句一部分
elseif :if条件语句一部分
end :终止for、while、switch、try和if语句
error :显示错误信息
for :循环语句一(确定次数)
if :if条件语句
other :switch语句一部分
return :返回到调用函数
switch :开关语句
try :try程序块
warning :类似于disp,但可被禁止
while :循环语句(次数不确定)
(8)交互输入
input :交互输入
keyboard :在M文件中遇到keyboard时将在命令窗口
产生交互直到输入return命令
menu :为用户输入产生一个选择菜单
pause :暂停
(9)面向对象
class :创建一个对象或者返回一个对象类
double :转换为双精度
inferiorto :亚类关系
inline :创建一个内联函数
int8,int16,int32 :转换到符号整数
isa :检查是否为所给类的对象
loadobj :load函数用户定义扩展
saveobj :save函数用户定义扩展
single :转换为单精度
superiorto :超类关系
uint8,uint16,uint32: 转换到无符号整数
(10)调试命令
dbclear :断点清除
dbcont :重新开始执行
dbdown :改变当前工作空间
dbmex :调试Mex文件
dbquit :退出调试模式
dbstack :显示函数调用堆栈
dbstatus :列出所有断点
dbstep :从断点处执行
dbstop :设置断点
dbtype :列出带行号的M文件内容
dbup :改变当前工作空间
lasterr :返回Matlab中产生的最后一个异常信息。
lastwarn :最后的警告信息这两个函数在调试程序时非常有用 8*)
(11)gui命令
dialog :创建对话框
errordlg:创建错误对话框
helpdlg :创建帮助对话框
inputdlg:创建输入对话框
listdlg :创建选择列表对话框
msgbox :创建消息对话框
pagedlg :显示页面的版面对话框
printdlg:显示打印对话框
questdlg:问题对话框
uigetfile:文件检索对话框
uiputfile:为写入而显示的检索对话框
uisetcolor:从对话框交互式设置对象的ColorSpec
uisetfont :交互设置对象字体特征
warndlg :警告对话框
menu :生成菜单
uicontextmenu:创建上下文菜单
uicontrol:创建用户界面控制对象
uimenu :创建用户界面菜单
dragrect :用鼠标拖动矩形
gcbo :返回正在执行回叫信息的图形对象句柄
rbbox :创建橡皮框
textwrap :对给定的用户界面控制读写返回覆盖的字符串矩阵
uiwait :控制程序的执行
waitbar :显示等待条
waitforbuttonpress:等待键或按钮的触发
(12)矩阵分析
cond :条件数(关于逆)
cond :条件数(关于特征值)
det :行列式
norm :矩阵范数
null :零空间
orth :矩阵的正交化空间
rank :矩阵的秩
rcond :矩阵的逆条件数
rref :去相关阶梯矩阵(高斯约当消去法)
rrefmovie: 去相关阶梯矩阵的逐步演示
subspace:两个子空间的角度,几何上讲其实是镶嵌于一个空间中的两个
超平面的角度;物理上讲是第二次试验和第一次试验提供了多少
新信息
trace :矩阵的迹
(13)线性方程
chol :Cholesky分解
inv :矩阵求逆
lscov :最小二乘解
lu :LU分解
lsqnonneg:非负约束的最小线性二乘
pinv :Moore-penrose伪逆
qr :正交三角分解
(14)特征值和奇异值
balance :提高特征值精度(a good function)
cdf2rdf :复数对角型转换为实数对角型
eig :特征值和特征向量
gsvd :广义奇异值分解
hess :矩阵的Hessenvberg形式
poly :根据根给出多项式(系数)
qz :广义特征值的QZ分解
rsf2csf :实的Schur形式转换为复的Schur形式
schur :Schur分解
svd :奇异值分解
(15)矩阵函数
expm :矩阵指数(与exp不同)
funm :一般矩阵函数
logm :矩阵对数(对应expm)
sqrtm :矩阵平方根
(16)低级函数
qrdelete:从QR分解中删除列
qrinsert:在QR分解中加入列
(17)二维、三维绘图函数
bar,barh:垂直和水平直方图
hist :统计频数直方图
hold :在图象窗口中保留当前图形
loglog :双对数刻度曲线图
pie :饼图
plot :绘制二维曲线
polar :极坐标图
semilogx
semilogy:半对数刻度曲线图
subplot :创建子图
bar3,bar3h:三维直方图
comet3 :三维彗星图
cylinder :柱面图
fill3 :填充的三维多边形
plot3 :三维直角坐标曲线图
quiver3 :三维向量场图
slice :切片图
sphere :生成球面
stem3 :三维火柴杆图
waterfall :瀑布水线图
(18)图形图像处理
axes :生成轴图形对象
axis :坐标轴的比例和外观
cla :清楚当前轴
clc :清除窗口中的命令
clf :清除当前窗口
close :删除指定的图形
copyobj :复制图形对象及其子对象
dragrect :用鼠标拖动矩形
drawnow :完成等待的绘图
figure :创建一个图形窗口
findobj :查找图形对象
gca :获取当前轴的句柄
gcbo :返回当前指向正在被调用的对象的句柄
gcf :获取当前图形句柄
gco :返回当前对象的句柄
get :获取对象的属性
getframe :获取图形帧
ginput :使用鼠标输入数据
image :显示图象对象
ishandle :判断图形对象是否有效
light :创建一个照明对象
line :创建线对象
newplot :确定图形对象的位置
patch :创建块图形对象
rectangle :生成二维矩形对象
refresh :重新绘制当前图形
reset :将图形对象重新设置为默认值
rotate :按指定方向旋转对象
rotate3d :使用鼠标旋转轴
selectmoveresize:选择移动调整和复制轴和用户界面控制图形对象
set :设置对象属性
surface :创建面对象
text :标注文字
uicontextmenu:创建一个上下文按钮
zoom :在二维图形上进行放大和缩小
(19)体数据可视化
coneplot :三维向量场中将速度向量锥形表示
contourslice:在三维物体切面上绘制等高线
isocaps :计算帽端等表面几何
isonormals :计算等值表面顶点的法向
isosurface :从块体数据中提取等表面数据
reducepatch :缩减块体表面的数目
reducevolume:缩减块体数据集中元素的数目
shrinkfaces :缩减块体表面的尺寸
smooth3 :使三维数据光滑化
stream2 :计算二维流线数据
stream3 :计算三维流线数据
streamline :画流线
surf2patch :表面数据转换为块数据
subvolume :从体数据中提取子集
(20)表面、网格和轮廓绘制
contour :二维等高线图
contourc :低层等高线图形计算
contourf :填充二维等高线图
hidden :从一个网线图中删除消隐线
mesh
meshc
meshz :网线图
peaks :两变量的样本函数
surf
surfc :三维阴影表面图
surfl :带有基于色图照明的表面图
trimesh :三角形网线图
trisurf :三角形表面图
(21)域生成
griddata :数据网格化
meshgrid :为三维图形生成XY矩阵
到matlab的官方网站会有很多有用的资料。
Matlab的快捷键:
对提高matlab编程能力的方法,我想主要有以下三个:
1。 查help
2. 多上上论坛,搜索帖子、发帖子问人
3。 阅读别人、特别是牛人的程序
当然了,正如所有的程序语言一样,“3分课本7分上机”,一定要动手才行,不能光看。多想、多思考、多尝试,才是正路。
最后,整理一下常用的快捷键(用【】表示)或命令:
1。 在命令窗口(Command Window)中:
1) 【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令
2) clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉
3) clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成
4) 【Tab】键――(转自版友心灯)在matlab@看到的:在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成.目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示
5) 【Ctrl+C】(或【Ctrl+Break】)――(转自版友yangjin_ren)在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉.不过进行此操作的前提是能够激活切换到命令窗口才行,呵呵。
2. 在编辑器(Editor)中:
1) 【Tab】(或【Ctrl+]】)――增加缩进(对多行有效)
2) 【Ctrl+[】--减少缩进(对多行有效)
3) 【Ctrl+I】--自动缩进(即自动排版,对多行有效)
4) 【Ctrl+R】――注释(对多行有效)
5) 【Ctrl+T】――去掉注释(对多行有效)
6) 【Ctrl+B】――括号配对检查(对版本6。5有效,但版本7。0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过)
7) 【F12】――设置或取消断点
8) 【F5】――运行程序
其余的例如在Debug状态下的快捷键就不多说了,自己看菜单Debug吧。文档为个人收集整理,来源于网络个人收集整理,勿做商业用途
25)请问可以查看Matlab中函数的源代码吗?
:#FangQ(Qianqian。Fang@Dartmouth.Edu),2002/6/21,BigGreen/MathTools #
Matlab除了buildin函数和mex/dll文件看不到原码,其他如工具箱等都可
以直接看到代码,首先确认该文件安装在matlab中,即which
filename.m存在,然后可以edit filename。m
再附两段代码,其余的图形代码类似,
参照有关公式,自己稍微摸索一下即可绘出.
%%%===================================%%%
%%% 螺旋面
clear all
u=linspace(0,2*pi);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
x=(4+sin(20*U)).*cos(V);
y=(4+sin(20*U)).*sin(V);
z=2*V;
mesh(x,y,z)
axis equal
%%%===================%%%
%%% 螺旋卷筒
clear all
R=2;
b=2;
u=linspace(0,2);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
x=U。*cos(V);
y=U.*sin(V);
z=U.*V;
mesh(x,y,z)
axis equal
axis off
%%%====================%%%
%%% 圆环面
clc
clear
u=linspace(0,2*pi,100);
v=linspace(0,2*pi,100);
[U,V]=meshgrid(u,v);
X=(4+sin(U)).*cos(V);
Y=(4+sin(U))。*sin(V);
Z=cos(U);
mesh(X,Y,Z)
axis equal
axis off
%%% 螺旋管,俗称“弹簧"
clc
clear
u=linspace(0,2*pi,100);
v=linspace(0,6*pi,100);
[U,V]=meshgrid(u,v);
X=(4+sin(U))。*cos(V);
Y=(4+sin(U))。*sin(V);
Z=cos(U)+V;
mesh(X,Y,Z)
axis equal
axis off
%%% 圆柱上的缎带
clc
clear
u=linspace(0,2);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
X=2*cos(V);
Y=2*sin(V);
Z=U+V;
mesh(X,Y,Z)
axis equal
axis off
%%% 纽带
clc
clear
u=linspace(0,2);
v=linspace(0,6*pi);
[U,V]=meshgrid(u,v);
X=U.*cos(V);
Y=U.*sin(V);
Z=5*V;
mesh(X,Y,Z)
axis equal
axis off
。mat格式,二进制文件.该文件能保存多个变量的值,但在被MATLAB处理时不能被其他程序共享。
.mat文件读写的实例:
〉> A=[1 2 3 4]
A =
1 2 3 4
〉> B=[1 ;2 ;3]
B =
1
2
3
>〉 C=[1 2 3;4 5 6;7 8 9]
C =
1 2 3
4 5 6
7 8 9
>> save MyDatFile C B A %保存数据,默认保存类型为二进制文件,此时在当前工作目录下成MyDatFile。mat文件
>〉 clear C B A
〉〉 C
??? Undefined function or variable ’C’. %此时已无C的记录
〉〉 load MyDatFile C B A %从.mat文件中读取变量
〉〉 C
输出结果为:
C =
1 2 3
4 5 6
7 8 9
matlab中脚本文件和函数文件有什么区别?
MATLAB中有一种文件叫M文件,他就是一系列代码组成的一个扩展名为。m的文件,虽然M文件是简单的ASCII型的文本文件,但是和其语法和高级语言一样,是一种程序化的编程语言。
M文件可分为脚本文件(MATLAB scripts)和函数文件(MATLAB functions).脚本文件是包含多条MATLAB命令的文件;函数文件可以包含输入变量,并把结果传送给输出变量,两者的简要区别如下:
脚本文件
1.多条命令的综合体
2。没有输入、输出变量
3。使用MATLAB基本工作空间
4。没有函数声明行
函数文件
1.常用于扩充MATLAB函数库
2。可以包含输入、输出变量
3。运算中生成的所有变量都存放在函数工作空间
4.包含函数声明行
脚本文件可以理解为简单的M文件,脚本文件中的变量都是全局变量。函数文件是在脚本文件的基础之上多添加了一行函数定义行,其代码组织结构和调用方式与对应的脚本文件截然不同。函数文件是以函数声明行“function。。。”作为开始的,其实质就是用户往MATLAB函数库里边添加了子函数,函数文件中的变量都是局部变量,除非使用了特别声明。函数运行完毕之后,其定义的变量将从工作区间中清除。而脚本文件只是将一系列相关的代码结合封装,没有输入参数和输出参数,即不自带参数,也不一定要返回结果。而多数函数文件一般都有输入和输出变量,并见有返回结果。
展开阅读全文