matlab 常用函数.docx

上传人:b****5 文档编号:7031208 上传时间:2023-01-16 格式:DOCX 页数:12 大小:57.33KB
下载 相关 举报
matlab 常用函数.docx_第1页
第1页 / 共12页
matlab 常用函数.docx_第2页
第2页 / 共12页
matlab 常用函数.docx_第3页
第3页 / 共12页
matlab 常用函数.docx_第4页
第4页 / 共12页
matlab 常用函数.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

matlab 常用函数.docx

《matlab 常用函数.docx》由会员分享,可在线阅读,更多相关《matlab 常用函数.docx(12页珍藏版)》请在冰豆网上搜索。

matlab 常用函数.docx

matlab常用函数

第一章MATLAB简介

MATLAB是一个集数值计算、符号分析、图象显示、文字处理于一体的大型集成化软件.它最初由美国的CleveMoler博士所研制.其目的是为线性代数等课程中的矩阵运算提供一种方便可行的实验手段.经过十几年的市场竞争和发展,MATLAB已发展成为在自动控制、生物医学工程、信号分析处理、语言处理、图像信号处理、雷达工程、统计分析、计算机技术、金融界和数学界等各行各业中都有极其广泛应用的数学软件.

由于MATLAB的强大功能,它能使使用者从繁重的计算工作中解脱出来,把精力集中于研究、设计以及基本理论的理解上,所以,MATLAB已成为在校大学生、硕士生、博士生所热衷的基本数学软件.在此,我们把MATLAB作为学习数学的工具介绍给读者,希望能有利于读者今后的学习.

一MATLAB的运行

启动MATLAB点击MATLAB图标,进入到MATLAB命令窗(MATLABCommandWindow).在命令窗内,可以输入命令、编程、进行计算.

学会使用help命令在命令窗内输入help命令,再敲回车键.在屏幕上出现了在线帮助总览.(注意:

MATLAB命令被输入后,必需敲回车键才能执行.为行文方便,以后不再每次提醒“敲回车键”.)学会使用help命令,是学习MATLAB的有效方法.

学会使用demo命令在命令窗内输入demo命令,再敲回车,键屏幕上将出现演示窗口.(MATLABDemoWindow)一共有三个窗口,左边的窗口显示欲演示内容的大标题,选定其中一项,右下方的小窗口显示欲演示的具体内容,选中其中一栏,再点击run按扭,屏幕上将演示选定的演示程序.右上方的窗口显示关于大标题的一些说明.在命令窗内输入type(文件名),将显示演示程序的M文件,仔细研究演示程序的M文件,是学习MATLAB的又一有效方法.

退出在工具栏中点击File按钮,在下拉式菜单中单击ExitMATLAB项即可.

二变量与函数、语句、矩阵

1.变量与函数

在MATLAB中,变量由字母、数和下划线组成.第一个字符必须是字母.一个变量最多由63个字符组成,并区分大小写.下面是MATLAB中表示特殊量的字符:

特殊变量

取值

ans

用于结果的缺省变量名

pi

圆周率

eps

计算机的最小数,当和1相加就产生一个比1大的数

flops

浮点运算数

inf

无穷大,如1/0

NaN

不定量,如0/0

i,j

虚数单位i=j=

nargin

所用函数的输入变量数目

nargout

所用函数的输出变量数目

realmin

最小可用正实数

realmax

最大可用正实数

MATLAB提供了大量的函数.可以通过helpfun查询.下面列出部分基本数学函数:

函数

名称

函数

名称

sin(x)

正弦函数

asin(x)

反正弦函数

cos(x)

余弦函数

acos(x)

反余弦函数

tan(x)

正切函数

atan(x)

反正切函数

abs(x)

绝对值

max(x)

最大值

min(x)

最小值

sum(x)

元素的总和

sqrt(x)

开平方

exp(x)

以e为底的指数

log(x)

自然对数

以10为底的对数

sign(x)

符号函数

fix(x)

取整

2.语句与M文件

MATLAB语句的一般形式为:

变量=表达式.当某一语句的输入完成后,按回车键,计算机就执行该命令.如果该语句末没输入其它符号或输入了逗号,将显示结果;如果句末输入了分号,将不显示结果.如果语句中省略了变量和等号,那么计算机将结果赋值给变量ans(结果的缺省变量).

MATLAB的内部函数是有限的,有时为了研究某一个函数的各种性态,需要为MATLAB定义新函数,为此必须编写函数文件.函数文件是文件名后缀为M的文件,这类文件的第一行必须是一特殊字符function开始,格式为:

function因变量名=函数名(自变量名)

函数值的获得必须通过具体的运算实现,并赋给因变量.

M文件建立方法:

1).在Matlab中,点:

File->New->M-file;

2).在编辑窗口中输入程序内容;

3).点:

File->Save,存盘,M文件名必须与函数名一致.

Matlab的应用程序也以M文件保存。

3.矩阵及其运算

MATLAB中矩阵

的输入方法如下:

A=[a11,…,a1n;…;am1,…,amn].逗号(或空格)是数之间的分隔符;分号(或Enter)是换行符,输入矩阵时严格要求所有行有相同列.

1)关于矩阵的运算,仅给以下一些基本指令:

运算命令

功能

转置

矩阵相加减

数乘矩阵,

是一个数值

求逆运算

矩阵

次幂

矩阵

的行列式值

矩阵

分解

矩阵

矩阵

的秩

的特征向量,

为特征值

的特征多项式

返回

的大小

2)矩阵中元素或块的常用操作,其中

表示一个矩阵.

表达式

功能

中第

行第

列元素

中第

行构成的行向量

中第

列构成的列向量

按列看作一个列向量

表示列向量

中第

个元素

3)数学函数有一个共同的特点:

若自变量X为一个矩阵,则函数值也为X的同阶矩阵,即对每一个元素分别求函数值。

即对于

经过函数f作用后得:

三MATLAB绘图

(一)、绘制二维图形

1、曲线图

绘制二维图形的基本命令是plot(X,Y,S).其中X,Y是向量,分别表示点集的横坐标和纵坐标,S指线型、颜色.plot(X,Y)—画实线,plot(X,Y1,S1,X,Y2,S2,……,X,Yn,Sn)—将多条线画在一起.以上三种格式中的x、y都可以是表达式,但表达式的运算结果必须符合上述格式要求.MATLAB的图形功能还提供了颜色和线型的控制符,如下表:

控制符

线型或标记

控制符

颜色

控制符

标记

实线

g

绿色

.

:

点线

m

品红色

o

圆圈

—.

点画线

b

蓝色

x

叉号

——

虚线

c

青色

+

加号

h

六角形

w

白色

*

星号

v

倒三角

r

红色

s

正方形

^

正三角

k

黑色

d

菱形

>

左三角

y

黄色

p

五角星

<

右三角

2、符号函数(显函数、隐函数和参数方程)画图

符号函数画图可以通过函数ezplot或fplot来实现.

(1)函数ezplot调用格式:

ezplot(‘f(x)’,[a,b])表示在a

ezplot(‘f(X,Y)’,[Xmin,Xmax,Ymin,Ymax])表示在区间Xmin

ezplot(‘x(T)’,’y(T)’,[Tmin,Tmax])表示在区间Tmin

(2)函数fplot调用格式:

fplot(‘fun’,lims)表示绘制字符串fun指定的函数在lims=[Xmin,Xmax]的图形.

注意:

[1]fun必须是M文件的函数名或是独立变量为x的字符串.

[2]fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形.

3.对数坐标图

在很多工程问题中,通过对数据进行对数转换可以更清晰地看出数据的某些特征,在对数坐标系中描绘数据点的曲线,可以直接地表现对数转换.对数转换有双对数坐标转换和单轴对数坐标转换两种.用loglog函数可以实现双对数坐标转换,用semilogx和semilogy函数可以实现单轴对数坐标转换.

loglog(Y)表示x、y坐标都是对数坐标系;

semilogx(Y)表示x坐标轴是对数坐标系;

semilogy(…)表示y坐标轴是对数坐标系;

plotyy有两个y坐标轴,一个在左边,一个在右边.

(二)、绘制三维图形

1、空间曲线的绘制

绘制空间曲线的基本命令为:

plot3(x,y,z);plot3(x,y,z,'s')或plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)

其中x,y,z是同维的向量或矩阵.当它们是矩阵时,以它们的列对应元素为空间曲线上点的坐标.s指线型、颜色,这一点与二维曲线时的情形相同.

2、空间曲面的绘制

绘制空间曲面的基本命令为mesh(x,y,z).

如果x、y是向量,则要求x的长度=矩阵z的列维;y的长度=矩阵z的行维.以zij为竖坐标,x的第i个分量为横坐标,y的第j个分量为纵坐标绘网格图.如果是同维矩阵,则数据点的坐标分别取自这三个矩阵.

meshc(x,y,z)带等高线的网格图,waterfall(x,y,z)瀑布水线图,

surf(x,y,z,'c')可着色的曲面图,surfc(x,y,z)带等高线的可着色的曲面图.

以上这些命令都可用来绘制曲面图,用法与mesh完全一样.

3.多幅图形的创建

有时同一曲面或曲线需要从不同的角度去观察,或用不同的表现方式去表现,这时,为了便于比较,往往在一个窗口内画多幅图形.MATLAB用subplot命令实现这一目的.具体格式为:

subplot(m,n,p)使用此命令后,把窗口分为m×n个图形区域,p表示当前区域号.

四MATLAB编程

(一)、关系运算和逻辑运算

1.关系运算符

〈小于〈=小于等于〉大于

〉=大于等于==等于~=不等于

运算法则:

如果两个比较量a、b是标量,那么,当a、b之间的关系成立时输出值为1;否则输出值为0.

如果两个比较量a、b是相同维数的数组,那么就按标量的运算法则,对a、b的对应元素进行运算,最后的输出结果为一个与a(或b)同维的0—1数组.

如果a是标量,b是数组,那么按标量的运算法则将a与b的每个元素逐一比较,最后的输出结果为一个与b同维的0—1数组.

在算术运算、关系运算中,算术运算优先.

2.逻辑运算符

&与|或~非

运算法则:

参与逻辑运算的量称为逻辑量,非零逻辑量为“真”,用1表示;零逻辑量为“假”,用0表示.

如果参与逻辑运算的两个量a、b都是标量,那么:

a&b当a与b全为非零时,运算结果为“1”;否则为“0”

a|ba与b中只要有一个非零,运算结果为“1”

~a当a是零时,运算结果为“1”;否则为“0”

如果参与逻辑运算的两个量a、b是相同维数的数组,那么就按标量的运算法则,对a、b的对应元素进行运算,最后的输出结果为一个与a(或b)同维的0—1数组.

如果参与逻辑运算的a是标量、b是数组,那么就按标量的运算法则,将a与b的每个元素进行运算,最后的输出结果为一个与b同维的0—1数组.

逻辑“非”是一个一元运算符,也服从数组运算规则.

在算术、关系、逻辑运算中,算术运算的最优先,其次是关系运算,再其次是逻辑运算.

(二)、控制语句

MATLAB也有控制流语句,用于控制程序的流程.主要有for循环、while循环、if和break三种控制语句.虽然语句很少,但功能很强.

ⅰfor循环语句

for循环语句的一般表达形式为:

fori=表达式

可执行语句1

……

可执行语句n

end

ⅱwhile循环

while循环语句用来控制一个或一组语句在某逻辑条件下重复预先确定或不确定的次数.

while循环语句的一般表达形式为:

while表达式

循环体语句

end

ⅲif和break语句

MATLAB中if和break语句的作用与使用方式同其它编程语言一样,用来将控制流程

进行分流与中断退出.

ⅳif–else–end分支结构

分支结构有三种形式:

if表达式

执行语句

end

如果表达式的值非0,则执行下面的语句.否则执行end后面的语句.

if表达式

执行语句1

else

执行语句2

end

if表达式1

执行语句1

elseif表达式2

执行语句2

……

else(此句可以省略)

执行语句n

end

五MATLAB的符号运算

前面介绍的内容基本上是MATLAB的数值计算功能,参与运算过程的变量都是被赋了值的数值变量.在MATLAB环境下,符号运算是指参与运算的变量都是符号变量,即使是数字也认为是符号变量.数值变量和符号变量是不同的.

1符号微积分

下面着重介绍一些与微积分有关的指令,这些指令都需要符号表达式作为输入宗量.

求和

symsum(S)对通项S求和,其中k为变量且从0变到k-1.

symsum(S,v)对通项S求和,指定其中v为变量且v从0变到v-1.

symsum(S,a,b)对通项S求和,其中k为变量且从a变到b.

symsum(S,v,a,b)对通项S求和,指定其中v为变量且v从a变到b.

求极限

limit(P)表达式P中自变量趋于零时的极限

limit(P,a)表达式P中自变量趋于a时的极限

limit(P,x,a,'left')表达式P中自变量x趋于a时的左极限

limit(P,x,a,'right')表达式P中自变量x趋于a时的右极限

求导数

diff(S,v)求表达式S对变量v的一阶导数.

diff(S,v,n)求表达式S对变量v的n阶导数.

求积分

int(P)对表达式P进行不定积分.

int(P,v)以v为积分变量对P进行不定积分.

int(P,v,a,b)以v为积分变量,以a为下限,b为上限对P进行定积分.

求Taylor展开式

taylor(f,v)f对v的五阶Maclaurin展开.

taylor(f,v,n)f对v的n-1阶Maclaurin展开.

多元函数的Taylor展开

MATLAB不能直接进行多元函数的Taylor展开.必须先调用MAPLE函数库中的mtaylor命令.方法为:

在MATLAB的工作窗口中键入

maple('readlib(mtaylor)')

mtaylor的格式为

mtaylor(f,v,n)

f为欲展开的函数式

v为变量名.写成向量的形式:

[var1=p1,var2=p2,…,varn=pn],展开式将在(p1,p2,…,pn)处进行.如只有变量名,将在0点处展开.n为展开式的阶数(n-1阶).要完成Taylor展开,只需键入maple('mtaylor(f,v,n)')即可.

2求符号方程的解

ⅰ线性方程组的求解

线性方程组的形式为A*X=B;其中A至少行满秩.

X=linsolve(A,B)输出方程的特解X.

ⅱ代数方程的求解

solve(P,v)

对方程P中的指定变量v求解.v可省略.

solve(p1,P2,…,Pn,v1,v2,…,vn)

对方程P1,P2,…Pn中的指定变量v1,v2…vn求解.

iii解符号微分方程

解符号微分方程的命令格式为:

dsolve('eq1','eq2',…).

其中eq表示相互独立的常微分方程、初始条件或指定的自变量.默认的自变量为t.如果输入的初始条件少于方程的个数,则在输出结果中出现常数c1,c2等字符.关于微分方程的表达式有如下的约定:

字母y表式函数,Dy表示y对t的一阶导数;Dny表示y对t的n阶导数.

3微分方程的数值解及其它问题的数值解

ⅰ常微分方程的数值解

MATLAB提供了求微分方程数值解的指令:

[t,x]=ode23('fname',[t0,tf],x0,tol,trace)

[t,x]=ode45('fname',[t0,tf],x0,tol,trace)

这两个格式中的输入参数意义完全一样.下面介绍这两个格式的有关内容及各参数的意义.这两个格式都采用Runge--Kutta法求解微分方程的数值解.它们是针对一阶微分方程组设计的.因此,如果待解的是高阶微分方程,那么首先要化成形式为x'=f(t,x)的一阶微分方程组.称为“状态方程”.

‘fname’是f(t,x)的函数名.该函数以x'为输出,以t,x为输入变量,注意次序不能颠倒.

t0和tf分别是积分的起始值和终止值.x0是初始值,以向量的形式输入.tol是用来控制精度的参数,可缺省.缺省时ode23默认tol=1.e-3;ode45默认tol=1.e-6.trace用来控制是否显示中间结果,可缺省.缺省时,默认trace=0,不显示.输出结果t和x分别是时间向量和相应的状态向量.虽然ode45比ode23的精度高,但它的运算速度更快.

ⅱ数值积分

quad('fname',a,b,tol,trace)Simpson法求数值积分.

quad8('fname',a,b,tol,trace)Newton-Cotes法求数值积分.

fname是被积函数文件名b,a分别是积分上下限用tol来控制积分精度.可缺省.缺省时默认tol=0.001.用trace来控制是否用图形显示积分过程.可缺省.缺省时默认trace=0,不显示图形.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1