matlab初学者应学习操作基本命令
(1) clc 清除命令空间的所有字符
(2) clear 从工作空间清除所有变量
(3) clf 清除图形窗口内的内容
(4) who 列出当前工作空间中的变量
(5) whos 列出当前工作空间中的变量及信息或用工具栏上的
wordspace浏览器
(6) delete <文件名> 从磁盘删除指定文件
(7) whech <文件名> 查找指定文件的路径 %这个命令在有的版本上不能实
现
( 9 ) clear all 从工作空间清除所有变量和函数
(10) help <命令名> 查询所列命令的帮助信息
(11) save
name 保存工作空间变量到文件name.mat
(12) save
name
x
y 保存工作空间变量 x y到文件name.mat
(13)load
name 下载‘name’文件中的所有变量到工作空间
(14)
load
name
x
y 下载‘name’文件中的变量x y到工作空间
(15)diary name1.m 保存工作空间一段文本到文件 name1.m
… diary off %这命令在有的版本上不能实现
(16)type name.m 在工作空间查看name.m文件内容
(17)what 列出当前目录下的m文件和mat文件
matlab中一些快捷键的使用
↑
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 中断程序运行
Ctrl+r 添加注释,并且对多行有效,注释号在行头
Ctrl+t 取消注释,并且对多行有效
Ctrl+i 自动调整缩进格式,比如有if……end,for……end语句但是没 有缩进的话程序不太好看,可以使用此键,对多行有效的
Ctrl+Tab 在Command Window,Current Directory和Command history之
间切换当前空间
Esc 删除当前行的全部内容
F12 设置取消断点
F5 运行
常用的窗口命令
help 启动联机帮助文件显示
what 列出当前目录下的有关文件
type 列出M文件
lookfor 对help信息中的关键词查找
which 找出函数与文件所在的目录名
demo 运行MATLAB的演示程序
path 设置或查询MATLAB的路径
有关文件及其操作的语句
cd 改变当前的工作目录
dir 列出当前目录的内容
delete 删除文件
getenv 获得环境参数
unix 执行操作系统命令并返回结果
diary 将MATLAB运行的命令存盘
fopen 打开文件
fclose 关闭文件
fread 从文件中读取二进制数据
fwrite 向一个文件写二进制数据
fscanf 从文件读取格式化数据
fprintf 将格式化数据写入文件
fgetl 从文件中读行并放弃换行符
fgets 从文件中读行并保持换行符
ferror 查询文件的输入输出的错误信息 feof 检查文件结束标志
fseek 设置文件位置指针
ftell 得到文件位置指针的位置 prewind 反绕一个打开的文件 tempname 建立临时的文件名
tempdir 返回一个已存在的临时目录名
启动与退出的命令
quit,exit 退出MATLAB环境
startup MATLAB自启动文件
matlabrc 启动主程序
管理变量工作空间的命令
who 简要列出工作空间变量名 whos 详细列出工作空间变量名 load 从文件中读入变量
save 列出工作空间中变量存盘 clear 删除内存中的变量与函数 pack 整理工作空间的内存
size 查询矩阵的维数
disp 显示矩阵和文本
length 查询矢量的维数
对命令窗口控制的常用命令
cedit 设置命令行编辑与回调的参数 clc 清除命令窗口中的显示
home 将光标移动到左上角位置 format 设置输出格式
echo 显示文件中的MATLAB命令 more 控制命令窗口的输出页面
第二篇:个人总结MatlabFAQ
为方便网友,现在做了FAQ供大家查用,现在还不完善,我会及时补充的。 目录:
001)如何关掉matlabserver.exe?
002)如何将一个图形数据文件转一角度?
003)Error: "identifier" expected, "end of line" found.
004)为什么command window中不能输入r
005)Index exceeds matrix dimensions是什么意思?
006)JAVA虚拟机下载地址
007)三维图中legend函数会改变图形的大小
008)符号表达式中的式子一般会出现分数,而且位数很多,怎么将其变为小数? 009)解决字体模糊的几种方法 ?
010)如何读入txt数据文件?
011)数据读入问题
012).asv文件是怎么回事?
013)matlab的校内下载
014)如何计算排列组合数
015)如何求数据的极大值和极小值
016)如何利用鼠标取点
017)如何按照tex语法输入一些特殊字符
018) 请问哪儿能下载MatrixVB,Matcom4.5?
019)如何在Matlab中添加新的工具箱?
1)Q:如何关掉matlabserver.exe?
A:
在控制面板-管理工具-服务 中 matlab server 的服务
改为禁用,手动启动,matlabserver.exe就不运行了
或者这样操作:
可以这样(这是卸载MATLAB Server),打开一个dos窗口
cd <matlab>/webserver/bin/win32
matlabserver -remove
<matlab>指的是安装目录
2)Q:如何将一个图形数据文件转一角度?
A:
看看这个可行的例子:
load woman
Xz = imrotate(X,14,'bilinear','crop');
figure;subplot(121);imshow(X,[]);subplot(122);imshow(Xz,[])
3)Q:出现这种错误怎么回事?
Error: "identifier" expected, "end of line" found.
A:
可能是你写了这慕峁梗?
for k=1:3;
......
可能你忘了写end
4)Q:为什么command window中不能输入r
A:
输入法问题,注意切换一下,用微软拼音输入
注: 输入r的问题,微软3.0好用,现在的微软20xx不好用
5)Q:Index exceeds matrix dimensions是什么意思?
A:
矩阵下标超出矩阵维数
6)Q:JAVA虚拟机下载地址
A:
ftp://ftp.mathworks.com/pub/tech-support/solutions/s26356/msjaVx86.exe
7)Q:三维图中legend函数会改变图形的大小
A:
在figure的legend上有键选择"properties",在对话框里面选择Style一栏, 在Position选项里面选Automatic 'best' placement(0)就好了;
或者这样使用legend函数就好了
legend('xxxxxxx','yyyyyyy',0)
8)Q:符号表达式中的式子一般会出现分数,而且位数很多,怎么将其变为小数? A:
vpa(expression,5)
9)Q:解决字体模糊的几种方法 ?
A:
参见本版1363
10)Q:如何读入txt数据文件?
A
txt文件的读入可以使用如下几个函数
textread
load
csvread
dlmread
11)Q: 数据读入问题
A
见本版“matlab调用其它格式数据的函数汇总”
12)Q: .asv文件是怎么回事?
A
这是自动保存文件,你在你在Preferences里面在"Editor/Debugger"菜单 里面找到Autosave,把勾选去掉就行了
13) matlab的校内下载
A
校内下载:
ftp://202.118.224.241/software/Science/MathworksMatlab
校外下载建议使用http://e.pku.edu.cn进行搜索
14) 如何计算排列组合数
A
nchoosek 组合数计算
perms 得到排列
15) 如何求数据的极大值和极小值
A
这是求极值的具体语句(参照这个你该能搞定问题了):
极值:
data是你的数据,
find(diff(sign(diff(data)))==-2)+1
找到极大值的位置
find(diff(sign(diff(data)))==2)+1
找到极小值的位置
data(find(diff(sign(diff(data)))==-2)+1)和
data(find(diff(sign(diff(data)))==2)+1)
返回的是极大值和极小值
16) 如何利用鼠标取点
A
参见这里 http://luobo.yculblog.com/post.666927.html
17) 如何按照tex语法输入一些特殊字符
A
http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectType=file&
objectId=1231#
到这里下载teximage.m文件就可以得到这个字符了,
比如: teximage('\hat{P}','scale',2);
这个函数可以按照tex语法输入一些特殊字符了
18) 请问哪儿能下载MatrixVB,Matcom4.5?
A
校内下载 MatrixVB : ftp://202.118.224.241/software/Science/MatrixVB
Matcom4.5 : ftp://202.118.224.241/software/Science/Matcom4.5
校外请用baidu等引擎搜索
19)如何在Matlab中添加新的工具箱?
:#FangQ(Qianqian.Fang@dartmouth.edu),20xx/6/21,BigGreen/MathTools #
如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。 如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某 个目录,然后用addpath(对于多个目录的使用genpath()或者pathtool添 加工具箱的路径,然后用which newtoolbox_command.m来检验是否可 以访问。如果能够显示新设置的路径,则表明该工具箱可以使用了。 具体请看工具箱自己代的README文件。
第三篇:MATLAB总结
总结
本课的主要内容:
1. 基本数据结构
2. 基本的流程;
3. 常用的功能函数;
一、 matlab基本操作
1. 变量名的命名规则:区分大小写,由字母、数字和下划线组成,但第一个字符必须是字母。
2. 赋值:不能连写,即a=b=1是错的,用分号结束。
3. 常用的数学函数:三角函数、abs、sqrt、rem(向0求余)、ceil、fix、floor、round、mod(模除求余)、min、max、sum。
注意ceil、fix、floor、round的区别:
Ceil向正无穷取整,floor向负无穷取整;ceil(-0.1)=0; floor(-0.1)= -1 Fix向0取整,round向最靠近的整数取整;fix(-0.6)=0; round(-0.6)=-1; 注意mod与rem的区别:
MOD(x,y)= x - n.*y where n = floor(x./y) if y ~= 0
REM(x,y) = x - n.*y where n = fix(x./y) if y ~= 0
故Mod(-4,3)= -4-floor(-4/3)*3= -4-floor(-1.3)=-4-(-2)*3=2 Rem(-4,3)= -4-fix(-4/3)*3= -4-fix(-1.3)=-4-(-1)*3= -1
4. 关系运算符 & | ~
二、 数组与矩阵运算
1. 数组和矩阵的产生方式:
直接输入、冒号生成、利用函数生成矩阵(diag、eye、ones、zeros、blanks), 注意:zeros(负整数)=[]、eye(负整数)=[]、 ones(负整数)=[]。
2. 子矩阵的寻访和赋值
A(r,c) A阵的第r行第c列的元素,注意: r和c可以是数字,也可以是向量。
A(r,:) A阵的第r行
A(:.c) A阵的第c列
A(:) A阵按从左到右的从上到下顺序展开为行向量
A(i) A阵按从左到右的从上到下顺序展开为行向量后的第i个元素
3. 矩阵算术运算 + - * \(B*inv(A)) / (inv(A)*B) ^ ?
注意参加运算的矩阵维数要满足矩阵运算的要求;
注意点乘运算和常规矩阵运算的差别:点乘是对矩阵中的每个元素做运算,运算符左右两端的矩阵维数要完全相同
4. 常用矩阵运算函数
det(行列式值)、eig(特征值、特征向量)、norm(矩阵范数)、inv(矩阵的逆)、rank(矩阵的秩)
三、 多项式的表达和操作
1. 多项式的表达方式:降幂形式、用系数行向量表示、缺项系数为0
2. 多项式行向量的生成:直接写出系数行向量;利用指令Poly生成,
3. 运算roots
4. 符号运算:创建符号变量 syms,运算函数 collect、factor
四、 字符串、元胞数组、结构体
1. 字符串:字符串是以向量的方式存储的,因此可以按照向量的方式操作-取值、求长度、扩展、赋值
2. 字符串函数:str2num、num2str、int2str、str2int、sprintf、eval
3. 元胞数组 可以存储不同类型的数据的结构
(1)
(2)
(3) 创建元胞数组命令 A=cell(r,c); 给元胞数组赋值A(r,c)={数据}; 访问元胞数组中的数据
A(r,c)表示找到一个元胞元素,只显示该元素存储数据的类型
A{r,c}表示找到一个元胞元素,并显示该元素存储的数据
4. 结构体数组
(1)
(2) 生成结构体 struct 结构体命令 fieldnames、getfield、setfield
五、 M文件和M函数
1. M文件有两种:脚本、M函数
脚本是一系列命令的组合,M函数是一个以function 关键字创建的函数文件, 注意:要想在M文件中调用自己编写好的M函数,必须把要调用的函数和文件放在同一文件夹中,或将需调用的函数加到Matlab的搜索路径中,添加方法:start->Desktop tools->Path,在弹出的对话框中找到相应的文件,点击“save”。或在菜单File->set path在弹出的对话框中找到相应的文件,点击“save”。
注意:在编写m文件时,每个命令最后必须以“;”结束,否则会将数据显示在工作空间中,这将大大影响程序执行的效率。
注意:在编写m文件时,尽量少用循环,尽量采用向量的方式运算,即循环的向量化。这是提高程序执行效率的有效手段。
2. M文件和M函数的基本流程:
if
elseif
end
switch index
case i
case
end
for
end
注意这些流程控制语句和c语言的区别。
六、 Matalb绘图功能和GUI设计
1. 基本的绘图命令plot,熟练掌握plot命令的使用方式,能够熟练画出各种图形;
2. 常用绘图命令:title、xlabel、ylabel、legend、grid on、subplot、hold on
3. 掌握绘制三维图形的方法:首先产生x,y坐标,利用函数z=f(x,y)或meshgrid得到z值。再用plot3命令。
4. 掌握利用Guide做简单图形界面的方法。了解利用figure、unicontrol等命令和回调函数创建Gui界面的m文件的方法。
七、 Simulink仿真
1. 掌握基本.mdl文件的创建方式(找模块、拖模块、设参数、连模块、定步长、选方法、作仿真),知道常用模块所在的模块库名,知道如何设置仿真的solve页。
注意:在simulink仿真中,要注意:信号的维数前后是否一致、仿真步长是否合适、模块参数设置是否正确
2. 掌握基本的simulink命令行仿真方法:
(1) 如何将.mdl文件的结果输出到工作空间,利用Sink库中的Toworkspace模块,注意该模块的参数设置:变量名设成期望的名字、数据保存方式save format应选“Array”。
(2) 如何在m文件中调用.mdl文件,利用sim命令;;
(3) 如何在m文件中改变.mdl文件中参数值,利用assignin命令
3. 知道如何封装simulink模块
4. 掌握用s函数模版编写S函数的方法,知道如何调用S函数。
八、 控制系统工具箱
1. 掌握基本的描述系统的命令tf、zpk、ss
2. 掌握各种模型之间的转换方法;
3. 掌握基本的时域分析命令:ploe、zero、step、impluse
4. 掌握频域分析命令:bode、Nyquist、nichols、margin、rlocus