一,基操
1,命令窗口中的标点符号:
空格:用于输入变量之间的分隔符以及数组行元素之间的分隔符。
逗号:用于要显示计算结果的命令之间的分隔符;用于输入变量之间的分隔符;用于数组行元素之间的分隔符。
点号:用于数值中的小数点。
分号:用于不显示计算结果命令行的结尾;用于不显示计算结果命令之间的分隔符;用于数组元素行之间的分隔符。
冒号:用于生成一维数值数组,表示一维数组的全部元素或多维数组的某一维的全部元素。
百分号:用于注释的前面,在它后面的命令不需要执行 。
单引号:用于括住字符串。
圆括号:用于引用数组元素;用于函数输入变量列表;用于确定算术运算的先后次序。
方括号:用于构成向量和矩阵;用于函数输出列表。
花括号:用于构成元胞数组。
下划线:用于一个变量、函数或文件名中的连字符。
续行号:用于把后面的行与该行连接以构成一个较长的命令。
“At”号 :用于放在函数名前形成函数句柄;用于放在目录名前形成用户对象类目录。
+,-,*,/,Λ:算术运算符。
2,数值计算结果的显示格式:
命令 |
含 义 |
范 例 |
format short |
短格式(默认) |
3.1416(小数点后4位有效) |
format short e |
短格式科学格式 |
3.1416e+000(5位科学计数) |
format long |
长格式 |
3.141592653589793(15位) |
format long e |
长格式科学格式 |
3.141592653589793e+000 |
format rat |
有理格式 |
355/113 |
format hex |
十六进制格式 |
400921fb54442d18 |
format bank |
银行格式 |
3.14(元角分格式) |
3,命令窗口的常用控制命令:
clc: 清屏。清除命令窗口中的所有已显示的内容。
clear: 删除内存中的变量。
what:列出当前目录下的M、MAT、MEX文件清单。
dir:显示当前目录或指定当前目录下的文件。
cd 路径:改变或显示当前工作目录;路径可省略,省略时为显示当前工作目录;cd ..表示回到上一级目录。
type:显示制定M文件的内容。
delete:删除文件。
which 文件名:指出M文件、MEX文件、工作空间变量、内置函数或Simulink模型所在的目录。
path命令
仅当前工作进程有效,重启还原
path(‘新目录’ , path )
Add the new path folder to the top of the search path.
addpath命令
addpath (’目录1’, ‘目录2’,… ,参数)
Add the path folder to the top of the search path (默认,控制参数缺省时,添加至首端)。
help命令
help命令可以获得MATLAB命令和M文件的帮助信息,如果知道准确的命令名称,使用help命令来查找最快捷。
help 命令名称
lookfor命令
lookfor命令是在所有的帮助条目中搜索关键字,常用来查找具有某种功能而不知道准确名字的命令。
lookfor 关键字 -all
打开帮助窗口命令:
helpwin、help desk、demo。
模糊查询
MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令
4,常用符号含义
特殊变量 |
意 义 |
ans |
如果用户未定义变量名,系统存储计算结果的默认变量名 |
pi |
圆周率π(= 3.1415926...) |
inf或Inf |
无穷大∞值,如1/0 |
eps |
浮点运算的相对精度2^(-52),计算机的最小数 |
realmax |
最大的正浮点数,2^(1024)-1 |
realmin |
最小的正浮点数,2^(-1022) |
NaN或nan |
不定量,如0/0或inf/inf |
i或j |
虚数单位 |
nargin |
函数输入参数个数 |
nargout |
函数输出参数个数 |
lasterr |
存放最新的错误信息 |
lastwarn |
存放最新的警告信息 |
5,基础知识:
①MATLAB的基本搜索过程:以>>sin(x)为例,按照以下的顺序进行搜索:
首先在MATLAB内存中进行检查,检查“sin”和“x”是否为工作空间的变量或特殊变量;
其次检查“sin”和“x”是否为MATLAB的内部函数(Built-in Function);
然后在当前目录上,检查是否有相应的“.m”或“.mex”文件存在;
最后在MATLAB搜索路径的所有其他目录中,依次检查是否有相应的“.m”或 “.mex”的文件存在;
如果都不是,则MATLAB发出错误信息。
②MATLAB文件格式(常用文件类型.m、.mat、 .fig 、.mdl、.mex、.p )
1. 程序文件:程序文件即M文件(M-File),其文件的扩展名为.m。
2.数据文件:数据文件即MAT文件,其文件的扩展名为.mat。。
3.图形文件:图形文件(Figure)的扩展名为.fig
4.模型文件:模型文件(Model)扩展名为.mdl,可以在“File”菜单中创建Model时生成.mdl文件。
5. 可执行文件:可执行文件即MEX文件,其文件的扩展名为.mex。
6. 项目文件:项目文件的扩展名为.prj。
7. P码文件:是对应M文件的一种预解析版本;当第一次执行M文件时,Matlab需要将其解析一次(第一次执行后的已解析内容会放入内存作第二次执行时使用,即第二次执行时无需再解析)
③启动变量编辑器窗口的方法有:
在工作空间窗口中双击该变量;
在工作空间窗口中选择变量,按鼠标右键在快捷菜单中选择“Open…”菜单;
单击工具栏中的打开变量(Open Selection)按钮。
④打开M文件编辑/调试器窗口的方法有:
单击MATLAB工作界面工具栏上最左边图标;
单击菜单“File”→“New”→“M-file”创建新M文件;
单击MATLAB工作界面工具栏上打开文件图标 ;
单击菜单“File”→“Open…”,在出现的“Open”对话框中选择文件名后单击“打开”按钮,打开相应文件;
用鼠标双击当前目录窗口中的M文件,可直接打开相应的文件。
⑤程序性能剖析窗口用来对M文件各命令的耗时进行分析,打开程序性能剖析窗口的方法有:
单击MATLAB工作界面工具栏上的图标;
选择菜单“Desktop”→“Profiler”;
在命令窗口中输入“profile viewer”命令。
6,资源库
国外站点:
1,MathWorks公司主页:http://www.mathworks.com
2,MATLAB file exchange:http://www.mathworks.com/matlabcentral/fileexchange/
世界各地的MATLAB编程爱好者提供的各种MATLAB函数,有很强的使用价值
3,MATLAB中心:http://www.mathworks.com/matlabcentral/
包括MATLAB新闻组,MATLAB程序大赛与文件交换中心等页面
4,德国的一个M文件数据库:http://matlabdb.mathematik.uni-stuttgart.de/index.jsp5
5,MAThTools站点:http://www.mathtools.net/MATLAB/index.html
有很多好的工具箱或者小的辅助函数
国内中文站点
1,恒润科技:http://www.hirain.com.cn公司的MATLAB国内独家代理商
2,MATLAB大观园:http://matlab.myrice.com/
3,中国学术交流园地:http://www.matwav.com/resource/newlk.asp
4仿真论坛MATLAB版:http://www.simwe.com/cgi-bin/ut/board_show.cgi?id=19&ge=30
5动力学控制论坛工程数学软件版:http://www.dytrol.com/index.asp
6,研学论坛MATLAB版:http://bbs.matwav.com/index.asp
7MATLAB语言及应用:http://sh.netsh.com/bbs/5186/
8.中科大AIAM数学工具论坛:http://mcm.ustc.edu.cn/forum/index.php
国内大学BBS
1,水木清华MathTool版:http://www.smtn.org/
2,哈工大紫丁香MATLAB版:http://bbs.hit.edu.cn
3,上海交大饮水思源Mathtools版:http://bbs.sjtu.edu.cn
4翰海星云:http://fbbs.ustc.edu.cn/
二,数值运算入门
1,变量与数据
数据的表达方式:采用十进制表示
矩阵和数组的概念 :
标量:1×1的矩阵,即只含1个数的矩阵。
向量:1×n或n×1的矩阵,即只含1行或1列的矩阵
矩阵:1个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例
数组:是指n维数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。
复数:由实部和虚部组成,用特殊变量“i”和“j”表示虚数的单位。
变量的命名应遵循如下规则:
变量名必须以字母打头,之后可以是字母、数字或下划线。
变量名区分字母大小写。
变量名最多可包含63个字符。从前向后取,超出部分忽略。
变量名不允许使用空格、标点符号。
关键字不能作为变量名。
函数的调用格式为:函数名(变量)
函数的变量即是 MATLAB 的矩阵变量,函数的运算就是将函数运算分别作用于函数变量(矩阵)的每一个元素。
注意:
1.MATLAB对弧度操作,若为角度,则换成弧度。
2.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)。
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的外积
2,矩阵
(1) 直接输入法创建矩阵
矩阵的所有元素必须放在方括号“[]”内;
矩阵元素之间必须用逗号“,”或空格隔开;
矩阵行与行之间用分号“;”或回车符隔开;
矩阵元素可以是任何不含未定义变量的表达式;
标点符号一定要在英文状态下输入。
(2) 利用MATLAB函数创建特殊矩阵
命 令 |
说 明 |
A=[] |
空矩阵,即没有元素的矩阵 |
A=eye(n) |
n维单位阵 |
A=ones(n,m) |
全部元素都为1的n行m列的矩阵 |
A=ones(n) |
全部元素都为1的n阶方阵 |
A=zeros(n,m) |
全部元素都为0的n行m列的矩阵 |
A=zeros(n) |
全部元素都为0的n阶方阵 |
A=rand(n,m) |
元素服从[0,1]区间均匀分布的n行m列的随机矩阵 |
A=rand(n) |
元素服从[0,1]区间均匀分布的n阶随机方阵 |
A=randn(n,m) |
元素服从标准正态分布的n行m列的随机矩阵 |
A=randn(n) |
元素服从标准正态分布的n阶随机方阵 |
向量的生成
(1). 利用冒号“:”运算生成向量
a=m:n 生成步长值为1的均匀等分行向量,m和n分别代表向量的起始值和终止值。
a=m:p:n 生成步长值为p的均匀等分行向量,m和n分别代表向量的起始值和终止值,p 代表向量元素之间步长值。
(2). 利用函数linspace()和logspace()生成向量
linspace(m,n) 生成从m到n之间的100个线性等分点的行向量。
linspace(m,n,s) 生成从m到n之间的s个线性等分点的行向量。
logspace(m,n) 生成从10m到10n之间50个按对数等分点的行向量。
logspace(m,n,s) 生成从10m到10n之间s个按对数等分点的行向量。
矩阵的元素
(1)矩阵的下标
在 MATLAB 中,矩阵下标的行、列号都是从 1 开始的
在MATLAB的内部数据储存结构中,每一个矩阵都是一个以列为主的向量,因此对于矩阵内各元素的存取是按列来进行总排。
冒号“:”表示“全部”。
(2)矩阵的赋值
j全下标方式:A(i,j)=B给A矩阵的部分元素赋值,则B矩阵的行列数必须等于A矩阵的行列数。
k单下标方式:A(s)=b, b为向量,元素个数必须等于A矩阵的元素个数。
l全元素方式:A(:)=B,给A矩阵的所有元素赋值则B矩阵的元素总数必须等于A矩阵的元素总数,但行列数不一定相等
(3)矩阵元素的删除
在MATLAB中可以对矩阵的单个元素、子矩阵块和所有元素进行删除操作,就是简单地将其复制为空矩阵(用[]表示)
A=[1 2 3;4 5 6;7 8 9] :生成一个矩阵用于例子。
A(1)=[] 删除1个元素
A(:,3)=[] 删除一列元素
A=[] 删除所有元素为空矩阵
(4)生成大矩阵
在MATLAB中,可以通过方括号“[ ]”实现将小矩阵联接起来生成1个较大的矩阵
a=[1 2 3;4 5 6;7 8 9] 生成一个矩阵用于例子。
[a;a] 连结成6*3的矩阵
[a a] 连结成3*6的矩阵
(5)矩阵维数的扩大与缩小
MATLAB 已定义的矩阵的维数可以扩大,也可以缩小。如果输入的同名矩阵的维数小于或大于原矩阵维数,MATLAB 认为是原矩阵修改了部分元素或子块。增加矩阵的维数时,可以只给出非零元素,MATLAB 自动将未定义元素设为 0。减小矩阵维数时,必须使用“[]”命令来对行或列进行操作,则相应的行或列即被删除。
“空矩阵”是指没有元素的矩阵,对任何一个矩阵赋值[],就是使它的元素都必须消失掉。
(6) 矩阵的翻转
命 令 |
说 明 |
flipud(A) |
矩阵作上下翻转 |
fliplr(A) |
矩阵作左右翻转 |
rot90(A) |
矩阵逆时针翻转90° |
diag(A) |
提取矩阵A的对角元素,返回列向量 |
diag(V) |
以列向量V作对角元素创建对角矩阵 |
tril(A) |
提取矩阵A的下三角矩阵 |
triu(A) |
提取矩阵A的上三角矩阵 |
(7) 矩阵的大小
命 令 |
说 明 |
whos |
显示工作空间中存在的变量及大小 |
[n,m]=size(A) |
返回A矩阵的行数和列数 |
n=length(A) |
返回A矩阵行、列数中较大值 |
[n,m]=find(A) 或 n=find(A) |
给出矩阵非零元素的行、列标记 |
复数
MATLAB的每一个元素都可以是复数,实数是复数的特例。复数的虚数部分用i或j表示,这是在MATLAB启动时就在内部设定的。
只有数字和 i的乘积可省略乘号“*”
复数矩阵的生成方法:
(1)将其元素逐个赋予复数
(2)将其实部和虚部矩阵分别赋值,“*”不能省略
请发表评论