【Matlab】Matlab基础入门

Matlab帮助系统

  1. 查询函数(知道函数名):help + 函数名
  2. MATLAB联机帮助:helpwin
  3. 查询函数(不知道全部函数名,模糊查询):lookfor + 函数信息
  4. 运行MATLAB演示程序:demo
  5. 运行MATLAB漫游程序:tour
  6. 在网络浏览器中显示指定内容的HTML格式的帮助文本,或者启动helpdesk:doc
  7. 列出当前工作空间中的变量:who
  8. 内存变量信息:whos
  9. 列出当前文件夹或指定目录下的M文件,MAT文件和MEX文件:what
  10. 确定文件位置:which
  11. 检查指定变量或文件的存在性:exist

MATLAB常用操作命令

命令功能命令功能
clf清楚图形窗口hold保持图形
diary日志文件load加载指定文件的变量
dir显示当前目录下文件pack整理内存残片
disp显示变量或文字内容path

显示搜索目录

echo

命令行窗口信息显示开关 quit退出MATLAB2018
save保存内存变量指定文件type显示文件内容

MATLAB中的常量

常量名称说明
ans

MATLAB中的默认变量

pi

圆周率

eps

浮点运算的相对精度

inf

无穷大,如1/0

NaN

不定值,如0/0,∞/∞,0*∞

i(j)复数中的虚数单位
realmin最小正浮点数
realmax最大正浮点数

format命令

MATLAB在默认情况下,若数据为整数,就以整数表示,若数据为实数,则以保留小数点后4位的精度近似表示。用户可以改变数字显示格式,控制数字显示格式的命令是format。

调用格式说明
format short5位定点表示(默认值)
format long15位定点表示
format short e5位浮点表示
format long e15位浮点表示
format short g在5位定点和5位浮点中选择最好的格式表示,MATLAB自动选择
format long g在15位定点和15位浮点中选择最好的格式表示,MATLAB自动选择
format rat以有理数形式表示
format hex十六进制格式表示
format +在矩阵中,用符号+、-和空格表示正号、负号和零
format bank用美元和美分定点表示
format compact变量之间没有空行
format loose变量之间有空行

MATLAB语言的关系运算符

只有不等于的运算符与C语言不一样,其他都一样。

不等于在MATLAB里是:~=

MATLAB语言的逻辑运算符

运算符定义
&逻辑与。两个操作数同时为1时,结果为1,否则为0
|逻辑或。两个操作数同时为0时,结果为0,否则为1
~逻辑非。当操作数为0时,结果为1,否则为0
xor逻辑异或。两个操作数相同时,结果为0,否则为1
any有非零元素则为真
all所有元素均非零则为真

在算术、关系、逻辑3种运算符中,算术运算符优先级最高,关系运算符次之,而逻辑运算符优先级最低。在逻辑运算符中,“ 非 ” 的优先级最高,“ 与 ” 和 “ 或 ” 有相同的优先级。

MATLAB复数运算

MATLAB提供的复数函数有:

函数名计算结果
Abs
Angle复数的相角
Complex用实部和虚部构造一个复数
Conj复数的共轭
Imag复数的虚部
real复数的实部
unwrap调整矩阵元素的相位
isreal是否为实数矩阵
cplxpair把复数矩阵排列成复共轭对

MATLAB向量

向量的创建

冒号法创建向量

基本格式是:

x = first:increment:last

表示创建一个从first开始,到last结束,数据元素的增量为increment的向量,若增量为1,上面创建向量的方式简写为:x = first : last

利用函数linspace创建向量

linspace通过直接定义数据元素个数,而不是数据元素之间的增量来创建向量。此函数调用格式如下:

linspace (first_value , last_value , number)

该调用格式表示创建一个从first_value开始到last_value结束,包含number个元素的向量。

利用函数logspace创建一个对数分隔的向量

与linspace一样,logspace也通过直接定义向量元素个数,而不是数据元素之间的增量来创建数组。logspace的调用格式如下:

logspace (first_value , last_value , number)

表示创建一个从10^first_value开始,到10^last_value结束,包含number个数据元素的向量。

 向量元素引用的方式

格式说明
x(n)表示向量中的第n个元素
x(n1:n2)表示向量中的第n1至n2个元素
x(n1:increment:n2)表示从第n1个元素开始取,下标增量为increment取到下标为n2为止

向量的运算

向量的点积运算

在MATLAB中,对于向量a,b,其点积可以利用命令dot算出,该命令的调用格式如下:

调用格式说明
dot(a,b)返回向量a和b的点积,即对应元素相乘再相加。需要说明的是,a和b必须同维。
dot(a,b,dim)返回向量a和b在dim维的点积

【注】向量a,b的点乘,即a.*b得到的是一个向量,而利用dot点积运算的结果是一个数。

向量的叉积运算

在空间几何学中,两个向量叉乘的结果是一个过两相交向量交点且垂直于两向量所在平面的向量。在MATLAB中,向量的叉积运算可由函数cross来实现。cross函数调用格式如下:

调用格式说明
cross(a,b)返回向量a和b的叉积。需要说明的是,a和b必须是3维的向量
cross(a,b,dim)返回向量a和b在dim维的叉积。需要说明的是,a和b必须有相同的维数。

MATLAB多项式

多项式的创建

函数poly2sym()来创建

其调用格式如下:

poly2sym(p)

其中,p为多项式的系数向量

多项式的运算

乘法运算

多项式乘法用函数conv(p1,p2)来实现,相当于执行两个数组的卷积。

除法运算

多项式的除法用函数deconv(p1,p2)来实现,相当于执行两个数组的解卷。

调用格式如下:

[k,r] = deconv(p,q)

其中k返回的是多项式p除以q的商,r是余式。

[ k, r ] = deconv(p,q) 等价于 p = conv(q,k) + r

求导

多项式导数运算用函数polyder来实现,其调用格式为:

polyder(p)

其中p为多项式的系数向量。

MATLAB矩阵

MATLAB以矩阵作为数据操作的基本单位,这使得矩阵运算变得非常简捷、方便、高效。

矩阵的创建

直接按行输入

  • 输入矩阵时要以“ [ ] ”为其标识符号,矩阵的所有元素必须都在中括号内。
  • 矩阵同行元素用逗号或空格分隔,行与行之间用分号或回车键分隔
  • 矩阵大小不需要预先定义
  • 矩阵元素可以是运算表达式
  • 若“ [ ] ”中无元素,表示空矩阵

利用M文件创建

当矩阵的规模比较大时,可以将所要输入的矩阵按格式先写入一文本文件中,并将此文件以.m为其扩展名,即M文件。

M文件是一种可以在MATLAB环境下运行的文本文件,它可以分为命令式文件和函数式文件两种。在此处主要用到的是命令式M文件,用它的简单形式来创建大型矩阵。在MATLAB命令行窗口中输入M文件名,所要输入的大型矩阵即可被输入到内存中。

【注】M文件中变量名与文件名不能相同,否则会造成变量名和函数名的混乱。运行M文件时,需要先将M文件xxx.m复制到当前目录文件夹下,否则运行时无法调用。

利用文本文件创建

MATLAB中的矩阵还可以由文本文件创建,即在文件夹中建立txt文件,在命令行窗口中直接调用此文件名即可。

 利用函数生成某些特定矩阵

矩阵元素的修改

命令格式说明
C = [ A B ]将A和B按行拼接
C = [ A ; B ]将A和B按列拼接
A(m,:) = []删除A的第m行
A(:,n) = []删除A的第n列

A(m,n) = a

A(m,:) = [a b …]

A(:,n) = [a b …]

对A的第m行第n列的元素赋值

对A的第m行赋值

对A的第n列赋值

矩阵的抽取

对矩阵元素的抽取主要是指对角元素和上(下)三角阵的抽取。对角矩阵和三角矩阵的抽取命令

常用的矩阵函数

矩阵奇异值计算

MATLAB特殊变量

特殊变量包括单元型变量和结构型变量,这两种数据类型的特点是允许用户将不同但是相关的数据类型集成一个单一的变量,方便数据的管理。

单元型变量

单元型变量是以单元为元素的数组,每个元素称为单元,每个单元可以包含其他类型的数组,如实数矩阵、字符串、复数向量。单元型变量通常由“ { } ”创建,其数据通过数组下标来引用。引用下标用的是大括号。

单元型变量的创建

有两种方式,一种是用赋值语句直接定义,另一种是由cell函数预先分配存储空间,然后对单元元素逐个赋值。

  • 赋值语句直接定义

单元型变量的定义需要使用大括号,而元素之间由逗号隔开。每个元素数据类型可以不同。

  • 对单元的元素逐个赋值

该方法的操作方式是先预分配单元型变量的存储空间,然后对变量中的元素逐个进行赋值。实现预分配存储空间的函数是cell。

cell(N)生成一个nxn阶的置空的单元数组
cell(M,N)  /  cell([M,N])生成一个mxn阶的置空的单元数组
cell(M,N,P…)

生成mxnxp…阶的置空的单元数组

cell(size(A))生成与A同形式的单元型的置空矩阵

 结构型变量

结构型变量是根据属性名组织起来的不同数据类型的集合。结构的任何一个属性可以包含不同的数据类型,如字符串、矩阵等。

结构型变量的创建和引用

结构型变量用函数struct来创建,其调用格式如下:

调用格式说明
s = struct ( ' field1 ' , { } , ' field2 ' , { } , … )表示建立一个空的结构数组,不含数据
s = struct ( ' field1 ' , values , ' field2 ' , values2 , …)表示建立一个具有属性名和数据的结构数组

其中,field表示属性名。

创建结构型变量演示:

有点像字典 

 有个注意的点:

MATLAB符号运算

在科学研究中常常涉及两种不同性质的计算问题,即数值计算和符号计算。在1946年第一台电子计算机问世之后,数值计算的问题就得到了较令人满意的解决。而符号计算则一直得不到很好的发展。在数值计算中,计算机处理的对象和得到的结果都是数值,而在符号计算中,计算机处理的数据和得到的结果都是符号。这种符号可以是字母、公式,也可以是数值,但它与纯数值计算在处理方法、处理范围、处理特点等方面有较大的区别。可以说,数值计算是近似计算;而符号计算则是绝对精确的计算。它不容许有舍入误差,从算法上讲,它是数学,它比数值计算用到的数学知识更深更广。

符号表达式与数值表达式的相互转换主要是通过函数eval和sym实现的。其中,eval函数用于将符号表达式转换成数值表达式,而函数sym用于将数值表达式转换成符号表达式。

调用格式说明
eval ( expression )expression是指含有有效的MATLAB表达式的字符串,如果需要在表达式中包含数值,则需要使用函数int2str、num2str或者sprintf进行转换。
[op1,…,opN] = eval ( expression )

op是指表达式的输出

sym ( p )p是指数值表达式
Subs ( S,old,new )

返回S的一个 拷贝,将S中所有old变量替换为new变量,并且直接计算S的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值