• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

学习笔记-MATLAB

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一,基操

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:列出当前目录下的MMATMEX文件清单。

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

打开帮助窗口命令:

       helpwinhelp deskdemo

模糊查询

MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令

 4,常用符号含义

特殊变量

意      义

 ans

如果用户未定义变量名,系统存储计算结果的默认变量名

 pi

圆周率π= 3.1415926...

 infInf

无穷大∞值,如1/0

 eps

浮点运算的相对精度2^(-52),计算机的最小数

realmax

最大的正浮点数,2^(1024)-1

realmin

最小的正浮点数,2^(-1022)

NaNnan

不定量,如0/0inf/inf

 ij

虚数单位

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,资源库

 国外站点:

1MathWorks公司主页: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的均匀等分行向量,mn分别代表向量的起始值和终止值。

  a=m:p:n 生成步长值为p的均匀等分行向量,mn分别代表向量的起始值和终止值,p 代表向量元素之间步长值。

 (2). 利用函数linspace()logspace()生成向量

   linspace(m,n)      生成从mn之间的100个线性等分点的行向量。

  linspace(m,n,s)    生成从mn之间的s个线性等分点的行向量。

  logspace(m,n)     生成从10m10n之间50个按对数等分点的行向量。

  logspace(m,n,s)   生成从10m10n之间s个按对数等分点的行向量。

 矩阵的元素

1)矩阵的下标

   MATLAB 中,矩阵下标的行、列号都是从 1 开始的

  MATLAB的内部数据储存结构中,每一个矩阵都是一个以列为主的向量,因此对于矩阵内各元素的存取是按列来进行总排。

   冒号“:”表示“全部”。

 2)矩阵的赋值

  j全下标方式:A(i,j)=BA矩阵的部分元素赋值,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)将其实部和虚部矩阵分别赋值,“*”不能省略

3,MATLAB的基本算术运算符

 

数学表达式

矩阵运算符

数组运算符

a + b

a + b

a + b

a - b

a - b

a - b

a * b

a * b

a .* b

a÷b

a / b  b  \ a


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于TCP的Socket连接【Delphi版】发布时间:2022-07-18
下一篇:
[Delphi]动态创建菜单发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap