MATLAB应用 MATLAB数据及运算Word格式.docx

上传人:b****6 文档编号:8456524 上传时间:2023-05-11 格式:DOCX 页数:45 大小:372.48KB
下载 相关 举报
MATLAB应用 MATLAB数据及运算Word格式.docx_第1页
第1页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第2页
第2页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第3页
第3页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第4页
第4页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第5页
第5页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第6页
第6页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第7页
第7页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第8页
第8页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第9页
第9页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第10页
第10页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第11页
第11页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第12页
第12页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第13页
第13页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第14页
第14页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第15页
第15页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第16页
第16页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第17页
第17页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第18页
第18页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第19页
第19页 / 共45页
MATLAB应用 MATLAB数据及运算Word格式.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB应用 MATLAB数据及运算Word格式.docx

《MATLAB应用 MATLAB数据及运算Word格式.docx》由会员分享,可在线阅读,更多相关《MATLAB应用 MATLAB数据及运算Word格式.docx(45页珍藏版)》请在冰点文库上搜索。

MATLAB应用 MATLAB数据及运算Word格式.docx

例4用键盘在MATLAB指令窗中输入以下内容

n=realmax,n=1.7977e+309

例5用键盘在MATLAB指令窗中输入以下内容

m=realmin,m=2.2251e-309

i和j——若i或j量不被改写,则它们表示纯虚数量j。

但在MATLAB程序编写过程中经常事先改写这两个变量的值,比如在循环过程中常用这两个变量来表示循环变量。

如果想恢复该变量,则可以用语句i=sqrt(-1)设置,即对-1求平方根。

三、MATLAB运算符和表达式

运算符

操作

数学表达式

MATLAB运算符

MATLAB表达式

a+b

+

a-b

-

ab

*

a*b

/或\

a/b或b\a

ab

^

a^b

所有运算都定义在复数域上

u=sqrt(-4)

对于方根,运算只给出处于第1象限的解

例2用左除(\)和右除(/)计算表达式

的值

用键盘在MATLAB指令窗中输入以下内容

(5+cos(47*pi/180))/(1+sqrt(7)-2*i)、(1+sqrt(7)-2*i)\(5+cos(180\47*pi))

对于标量,左除(\)或右除(/)所得到的结果是一样的

对于矩阵,左除(\)和右除(/)所得到的结果是不一样的

AX=B→A-1AX=A-1B→X=A-1B=A\B,

XA=B→XAA-1=BA-1→X=BA-1=B/A

表达式

表达式由变量名、运算符、函数名组成

表达式按优先级和自左向右的顺序运算

优先级从高向低的排序是:

指数运算、乘除运算、加减运算

括号可以改变运算的顺序

赋值符“=”和运算符的两侧允许有空格

复数和复数矩阵

MATLAB把复数看成一个整体来处理(不像其它程序,把实部和虚部分开处理)

虚数单位用预定义变量i或j表示

复数z=a+bi=reiθ直角坐标表示与极坐标表示之间的转换

real(z):

给出复数z的实部a=rcosθ

imag(z):

给出复数z的虚部b=rsinθ

abs(z):

给出复数z的模r=sqrt(a2+b2)

angle(z):

以弧度为单位给出复数z的相角θ=arctg(b/a)

例1写出复数

表达式,计算

z1=3+4i%书写格式1

z2=1+2*i%书写格式2

z3=2*exp(i*pi/6)%书写格式2

z=z1*z2/z3

%是注释号,在它后面及回车之前的输入部分是非执行的注释

在格式1中,4i表示一个完整的虚数,4和i之间不能有空格

在格式2中,i被看作一个预定义变量参与运算

格式1的运算速度要比格式2快,宜于在循环中采用

例2复数矩阵的生成及运算

用键盘在MATLAB指令窗中输入以下内容

A=[1,3;

2,4]-[5,8;

6,9]i

6,9]*i

B=[1+5i,2+6i;

3+8*i,4+9*i]

C=A*B

格式1仅用于复数标量的表达,不能表达复数矩阵

例3求上例复数矩阵C的实部、虚部、模和相角

C_real=real(C)

C_imag=imag(C)

C_magnitude=abs(C)

C_phase=angle(C)*180/pi%以度为单位计算相角

四、MATLAB的数据结构

数据型、符号型、字符串型、多维数组、单元数组、类

数据型:

可以单独输入,也可以赋值给数值变量

符号型:

可用于公式推导,得到数学问题解析解

字符串型:

C语言中字符串是用双引号括起来的,而MATLAB字符串是用单引号括起来的

1.数据型:

双精度浮点数,占8字节(64位),指数11位,尾数53位,符号1位。

在一般情况下,数据的存储和计算都是以双精度进行的。

但是,可以用format命令改变数据在屏幕上的显示格式

指令

format

formatshort

通常保证小数点后4位有效数字;

对于大于1000的实数,用5位有效数字的科学记数形式显示

formatlong

15位数字表示

formatshorte

5位科学记数表示

formatlonge

15位科学记数表示

formatshortg

从formatshort和formatshorte中自动选择最佳记数方式(缺省设置)

formatlongg

从formatlong和formatlonge中自动选择最佳记数方式

formatrat

近似有理数表示

formathex

16进制表示

formatbank

(金融)元、角、分表示

format+

正数、负数和零分别用+、-和空格表示

例1:

用format和formatshort格式显示π的数值

输入:

format(或formatshort)回车

pi回车

例2:

用format和formatshort格式显示1000π的数值

1000*pi回车

例3:

分别用formatlong、formatshorte、formatlonge、formatshortg、formatlongg、formatrat和formatbank格式显示π的数值

例4:

用format+格式分别显示π、π-2π和π-π的数值

五、MATLAB常用函数

三角函数

函数名称

数学表达

MATLAB表达

正弦

sin

反正弦

arcsin

asin

余弦

cos

反余弦

arccos

acos

正切

tg

tan

反正切

arctg

atan

余切

ctg

cot

反余切

arcctg

acot

正割

sec

反正割

arcsec

asec

余割

csc

反余割

arccsc

acsc

双曲函数

双曲正弦

sh

sinh

反双曲正弦

Arsh

asinh

双曲余弦

ch

cosh

反双曲余弦

Arch

acosh

双曲正切

th

反双曲正切

Arth

双曲余切

cth

coth

反双曲余切

Arcth

acoth

双曲正割

sech

反双曲正割

Arsech

asech

双曲余割

csch

反双曲余割

Arcsch

acsch

指数函数

自然指数函数

ex

exp(x)

自然对数函数

ln

log

常用对数函数

log10

以2为底的对数函数

log2

2的幂函数

2x

pow2(x)

平方根函数

x1/2

sqrt(x)

复数函数

abs

模,或绝对值

conj

复数共轭

real

复数实部

angle

相角(弧度)

imag

复数虚部

例:

求-π的绝对值

abs(-pi)

圆整函数和求余函数

向+∞圆整函数(天花板函数)

ceil

不小于自变量的最小整数

ceil(π)=?

ceil(-π)=?

向0圆整函数

fix

向0方向取整数

fix(π)=?

fix(-π)=?

向-∞圆整函数(地板函数)

floor

不大于自变量的最大整数

floor(π)=?

floor(-π)=?

模除求余函数

mod(x,y)

y不等于0时,mod(x,y)=x-y*floor(x/y);

y=0时,mod(x,y)=x

求余数函数

rem(x,y)

y不等于0时,rem(x,y)=x-y*fix(x/y);

y=0时,rem(x,y)=NaN

向最近整数圆整函数

round

四舍五入到最邻近的整数

round(π)=?

round(-π)=?

round(6.5)=?

符号函数

sign

x<

0,sign(x)=-1;

x=0,sign(x)=0;

x>

0,sign(x)=1

1.若a为正整数,ceil,fix,floor,round函数之间的区别如图

2.对于模除求余函数mod(x,y)和求余数函数rem(x,y),

y=rem(13,3)=1

y=mod(13,3)=1

y=rem(-13,-3)=-1

y=mod(-13,-3)=-1

y=rem(-13,3)=-1

y=mod(-13,3)=2

y=rem(13,-3)=1

y=mod(13,-3)=-2

rem(x,y)的符号与x相同,mod(x,y)的符号与y相同

当x、y的符号相同时,rem(x,y)=mod(x,y)

当x=5,y=3,求rem(x,y)和mod(x,y)

1.先输入:

x-y*fix(x/y),再输入rem(x,y),比较结果

2.先输入:

x-y*floor(x/y),再输入mod(x,y),比较结果

当x=-5,y=3,求rem(x,y)和mod(x,y)

rem

PurposeRemainderafterdivision

SyntaxR=rem(X,Y)

如果Y~=0,R=rem(X,Y)给出X-n.*Y,这里n=fix(X./Y).

如果Y不是一个整数,而且商X./Y是在一个整数的四舍五入的误差内,那么n就是那个整数。

根据惯例,rem(X,0)是NaN。

输入XandY必须是相同维数的实矩阵,或实标量。

只要X和Y同号,rem(X,Y)给出和mod(X,Y)一样的结果。

但是,对于正的X和Y,rem(-X,Y)=mod(-X,Y)-Y

Rem函数给出一个在0和sign(X)*abs(Y)之间的结果。

如果Y为0,rem给出NaN。

mod

PurposeModulusafterdivision

SyntaxM=mod(X,Y)

Definitionmod(x,y)isxmody.

如果Y~=0,M=mod(X,Y)给出X-n.*Y,这里n=floor(X./Y).

根据惯例,mod(X,0)是X.。

只要X和Y同号,,函数mod(X,Y)给出和rem(X,Y)一样的结果。

但是,对于正的X和Y,mod(-X,Y)=rem(-X,Y)+Y

mod函数对于同余关系是有用的:

当且仅当mod(x,m)==mod(y,m),X和y是同余的(congruent被一个模数所分成的差额)(modm).

当x1=-pi,x2=0,x3=pi时,求sign(x1),sign(x2),sign(x3)

2.2数值数组及其运算

由MATLAB软件构成的“矩阵”在外观形状和数据结构上与数学意义上的矩阵是及其相似的

但MATLAB中的矩阵在操作上具有二重性

既可以按数学中的矩阵运算规则操作

又可以按照MATLAB软件自己定义的规则操作

具有这样特性的“矩阵”—数组

按MATLAB软件自己定义的规则进行的运算—数组运算

数组可分为1维、2维、3维,甚至更多维数

一、一维数组(矩阵)的创建

1.逐个元素输入法

输入

x=[2pi/2sqrt(3)3+5i]

2.冒号生成法

通过设定步长生成一维数组

x=a:

inc:

b

a是数组的第1个元素。

inc是采样点之间的间隔,即步长。

如果(b-a)是步长inc的整数倍,则生成的数组的最后一个元素是b

如果(b-a)不是步长inc的整数倍,则生成的数组的最后一个元素小于b

a、inc、b之间必须用冒号“:

”分隔

取步长为0.2,在[0,π]区间生成一个1维数组

x1=0:

0.2:

pi%注意最后一个生成元素是不是π

x1(5)%显示数组x1的第5个元素

inc可以省略。

省略时,inc默认为1

取步长为1,在[0,π]区间生成一个1维数组

输入:

x2=0:

pi

步长inc可以是正数,也可以是负数

当步长inc取正数时,要保证a<

当步长inc取负数时,要保证a>

取步长为1,在[0,π]区间逆向生成一个1维数组

x3=pi:

-1:

0%注意比较本例与例1中数组的第1个元素

x3=0:

pi%注意结果

取步长为0.1,在[0,2π]区间画出正弦曲线

x4=0:

0.1:

2*pi;

%在[0,2π]区间生成一个1维数组

y=sin(x4);

%建立正弦函数

plot(x4,y)%画出y-x曲线

3.定数线性采样法

在给定的总点数下,均匀采样生成一维数组

x=linspace(a,b,n)

a和b分别是数组的第1个和最后一个元素,n是采样总点数(包括a和b)

步长=(b-a)/(n-1)

相当于x=a:

(b-a)/(n-1):

在[0,π]区间生成具有16个均匀采样点的一维数组

x4=linspace(0,pi,16)%注意最后一个元素是不是π

4.定数对数采样法

在给定的总点数下,通过常用对数采样生成一维数组

x=logspace(a,b,n)

数组的第1个元素是10a,最后一个元素是10b。

n是采样总点数(包括a和b)。

步长=10(b-a)/(n-1)

logspace(1,6,6)

二、二维数组(矩阵)

特点:

具有行和列

A=[1:

3;

4:

6;

7:

9]%3×

3数组(矩阵)

二维数组(矩阵)元素的标识

“全下标”标识

“单下标”标识

产生一个5阶的魔方数组,并显示全下标第2行第4列的元素和单下标第14个元素

D=magic(5)%magic为MATLAB提供的魔方数组(矩阵)函数

D(2,4),D(14)

三、数组运算和矩阵运算

加减运算

设两个行数和列数相同矩阵A=(aij)mn和B=(bij)mn。

它们相加和相减,分别得到新的矩阵A+B和A-B。

它们的行数和列数与原来的矩阵相同,

新的矩阵的元素等于原来矩阵的元素的相加或相减

A+B=(aijn+bij)mn,A-B=(aij-bij)mn。

MATLAB软件构成的数组(“矩阵”)可以实现矩阵的加减运算

例设

,求

A=[1,-2;

0,1;

-1,3],B=[0,2;

-1,1;

2,5]

C=A+B,D=A-B

注意:

对于数学意义上的矩阵来说,只有两个矩阵的行数和列数相同时,才能进行加减运算

对于非一行一列的矩阵,不能与标量相加减

但是,对于MATLAB软件来说,允许数组(“矩阵”)与标量相加减,这时就是数组加减运算。

数组与标量相加或相减,相当于数组中的每个元素与标量相加或相减

设s为一个标量,A=(aij)mn为一个非一行一列的矩阵,那么

s+A生成与A同行同列的数组

而且新数组的每一元素等于原来元素与标量之和

s+A=(s+aij)mn

s-A或A-s也生成与A同行同列的数组

s-A=(s-aij)mn,A-s=(aij-s)mn

例s=3,求E=s+A,F=s-A,G=A-s

乘法运算

在数学上,两个矩阵相乘,第一个矩阵的列数必须等于第二个矩阵的行数,

设A=(aij)mt,B=(bij)tn,它们相乘生成新矩阵C=AB

新矩阵的行数等于第一个矩阵的行数,新矩阵的列数等于第二个矩阵的列行数,C=(cij)mn。

新矩阵的元素按下面规则构成:

在MATLAB中,可以实现这种运算,C=A*B。

A1=[3,-2;

1,0;

-1,-3],B1=[1,2,0,4;

5,-2,-1,0]

C1=A1*B1

此外,在MATLAB中,还可以实现下面的乘积运算,这在数学上没有定义

设A=(aij)mn,B=(bij)mn,它们的行数和列数相同,

那么A.*B生成一个新的数组,其行数和列数与原来数组相同,新数组的元素等于原来数组相应元素的乘积,称为数组乘积运算。

A.*B=(aijbij)mn

C=A.*B

在数学上,一个标量与矩阵的乘积对于矩阵的每个元素与这个标量的乘积

sA=(saij)mn

在MATLAB中,可以实现这种运算,C=s*A。

此外,s.*A也给出同样的结果

例求C=s*A,D=s.*A

除法运算

对于矩阵,分左除(\)和右除(/)两种,而且所得到的结果是不一样的

此外,在MATLAB中,还可以实现一种数组除法运算

设A=(aij)mn,B=(bij)mn,它们的行数和列数相同

B./A或A.\B给出与原数组行和列相同的数组

而且它们的结果都是一样的,等于两个数组相应元素的分别相除

B./A(A.\B)=(bij/aij)mn

在MATLAB中,还可以实现一种标量除以数组的运算

s./A(A.\s)=(s/aij)mn

转置

设A=(aij)mn

在数学上,

表示矩阵的共轭转置

在MATLAB中,矩阵的共轭转置仍然用A’表示

此外,在MATLAB中,还可以实现下面的数组转置

A.’=(aji)nm,为非共轭转置

它与矩阵的共轭转置的关系为:

A.’=conj(A’)

例设z=[1+2i3+4i],求z’及z.’

四、数组的关系和逻辑运算

关系(比较)运算

关系运算符

<

小于

=

小于等于

>

大于

大于等于

==

等于

~=

不等于

1.等式成立时,表示逻辑真,输出为1

等式不成立时,表示逻辑假,输出为0

2.当两个非标量数组进行比较时

两个数组的维数必须相同

比较是在两个数组的对应元素之间进行

比较的结果是与原来维数相同的数组

3.标量可以与非标量数组进行比较

比较是在标量和数组的每一个元素之间进行

比较的结果是与非标量数组维数相同的数组

例设A=1:

9,B=10-A,求r0=(A<

4),r1=(A==B),r2=(A~=B)

逻辑运算

函数

A&

B

and(A,B)

A|B

or(A,B)

~A

not(A)

2.当两个非标量数组进行逻辑运算时

逻辑运算是在两个数组的对应元素之间进行

逻辑运算的结果是与原来维数相同的数组

逻辑运算是在标量和数组的每一个元素之间进行

逻辑运算的结果是与非标量数组维数相同的数组

例1设A=[0,1,1,0,1],B=[1,1,0,0,1],求A&

B,A|B,~A

对数组或标量进行逻辑运算时,非零数当做逻辑1处理

例2将上例的A分别改为A=[0,3.5,1,0,1]、A=[0,0.5,1,0,1],求A&

逻辑运算的优先级从高到低排序是:

~、&

、|

例3设A=[0,1,1,0,1],B=[1,1,0,0,1],C=[0,1,0,1,0],求~A|B,A|~B和A&

B|C,A|B&

C

在关系运算和逻辑运算同时存在时,逻辑非优先,关系运算次之,其次是逻辑与,逻辑或排在最后

例3设A=-3:

3,求L1=~(A>

0),L2=~A>

0,L3=~A,L4=A>

-2&

A<

1

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

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2