第2章 MATLAB算术运算初步Word文档格式.docx

上传人:b****7 文档编号:21924410 上传时间:2023-02-01 格式:DOCX 页数:24 大小:24.08KB
下载 相关 举报
第2章 MATLAB算术运算初步Word文档格式.docx_第1页
第1页 / 共24页
第2章 MATLAB算术运算初步Word文档格式.docx_第2页
第2页 / 共24页
第2章 MATLAB算术运算初步Word文档格式.docx_第3页
第3页 / 共24页
第2章 MATLAB算术运算初步Word文档格式.docx_第4页
第4页 / 共24页
第2章 MATLAB算术运算初步Word文档格式.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

第2章 MATLAB算术运算初步Word文档格式.docx

《第2章 MATLAB算术运算初步Word文档格式.docx》由会员分享,可在线阅读,更多相关《第2章 MATLAB算术运算初步Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。

第2章 MATLAB算术运算初步Word文档格式.docx

表达式

MATLAB书写表达式的规则与“手写算式”差不多相同。

如果一个指令过长可以在结尾加上...(代表此行指令与下一行连续),例如

?

3*...

6

ans=

18

MATLAB常用数学函数

三角函数和双曲函数

名称

含义

sin

正弦

csc

余割

atanh

反双曲正切

cos

余弦

asec

反正割

acoth

反双曲余切

tan

正切

acsc

反余割

sech

双曲正割

cot

余切

sinh

双曲正弦

csch

双曲余割

asin

反正弦

cosh

双曲余弦

asech

反双曲正割

acos

反余弦

tanh

双曲正切

acsch

反双曲余割

atan

反正切

coth

双曲余切

atan2

四象限反正切

acot

反余切

asinh

反双曲正弦

sec

正割

acosh

反双曲余弦

指数函数

exp

E为底的指数

log10

10为底的对数

pow2

2的幂

log

自然对数

log2

2为底的对数

sqrt

平方根

复数函数

abs

绝对值

conj

复数共轭

real

复数实部

angle

相角

imag

复数虚部

圆整函数和求余函数

ceil

向+∞圆整

rem

求余数

fix

向0圆整

round

向靠近整数圆整

floor

向-∞圆整

sign

符号函数

mod

模除求余

矩阵变换函数

fiplr

矩阵左右翻转

diag

产生或提取对角阵

fipud

矩阵上下翻转

tril

产生下三角

fipdim

矩阵特定维翻转

triu

产生上三角

Rot90

矩阵反时针90翻转

其他函数

min

最小值

max

最大值

mean

平均值

median

中位数

std

标准差

diff

相邻元素的差

sort

排序

length

个数

norm

欧氏(Euclidean)长度

sum

总和

prod

总乘积

dot

内积

cumsum

累计元素总和

cumprod

累计元素总乘积

cross

外积

MATLAB系统命令

命令

含义

help

在线帮助

helpwin

在线帮助窗口

helpdesk

在线帮助工作台

demo

运行演示程序

ver

版本信息

readme

显示Readme文件

who

显示当前变量

whos

显示当前变量的详细信息

clear

清空工作间的变量和函数

pack

整理工作间的内存

load

把文件调入变量到工作间

save

把变量存入文件中

quit/exit

退出MATLAB

what

显示指定的matlab文件

lookfor

在HELP里搜索关键字

which

定位函数或文件

path

获取或设置搜索路径

echo

命令回显

cd

改变当前的工作目录

pwd

显示当前的工作目录

dir

显示目录内容

unix

执行unix命令

dos

执行dos命令

!

执行操作系统命令

computer

显示计算机类型

MATLAB语言中的关系与逻辑运算

在执行关系及逻辑运算时,MATLAB将输入的不为零的数值都视为真(True)而为零的数值则视为否(False)。

运算的输出值将判断为真者以1表示而判断为否者以0表示。

各个运算元须用在二个大小相同的阵列或是矩阵中的比较

关系运算

指令

<

小于

=

小于等于

大于

大于等于

==

等于

~=

不等于

a=1:

2:

11;

b=2:

1:

7;

a>

b

001111

a==b

010000

=b

011111

a-(b>

4)

1356810

逻辑运算

&

逻辑and

|

逻辑or

~

逻辑not

(a<

2)|(b>

6)

100001

c=a+(a>

3)|(b<

c=

111111

逻辑关系函数

xor

不相同就取1,否则取0

any

只要有非0就取1,否则取0

all

全为1取1,否则为0

isnan

为数NaN取1,否则为0

isinf

为数inf取1,否则为0

isfinite

有限大小元素取1,否则为0

ischar

是字符串取1,否则为0

isequal

相等取1,否则取0

ismember

两个矩阵是属于关系取1,否则取0

isempty

矩阵为空取1,否则取0

isletter

是字母取1,否则取0(可以是字符串)

isstudent

学生版取1

isprime

质数取1,否则取0

isreal

实数取1,否则取0

isspace

空格位置取1,否则取0

isequal(a,b)

isreal(a)

1

0

矩阵的产生

简易阵列

MATLAB的运算事实上是以阵列(array)及矩阵(matrix)方式在做运算,而这二者在MATLAB的基本运算性质不同,阵列强调元素对元素的运算,而矩阵则采用线性代数的运算方式。

而宣告一变数为阵列或是矩阵时,如果是要个别键入元素,须用中括号[]将元素置于其中。

阵列为一维元素所构成,而矩阵为多维元素所组成,例如

x=[12345678];

%一维1x8阵列

x=[12345678;

4567891011];

%二维2x8矩阵,以;

区隔各列的元素

x=[12345678%二维2x8矩阵,各列的元素分二行键入

4567891011];

x(3)%x的第三个元素

2

x([125])%x的第一、二、五个元素

143

x(1:

5)%x的第前五个元素

14253

x(10:

end)%x的第十个元素后的元素

869710811

-1:

2)%x的第十个元素和第二个元素的倒排

857463524

x(find(x>

5))%x中大于5的元素

6

7

8

9

10

11

x(4)=100%给x的第四个元素重新给值

x=

12345678

410067891011

x(3)=[]%删除第三个元素

Columns1through12

14100364758697

Columns13through15

10811

x(16)=1%加入第十六个元素

Columns1through12

Columns13through16

108111

建立阵列

上面的方法只适用于元素不多的情况,但是当元素很多的时候,则须采用以下的方式:

x=(0:

0.02:

1);

%以:

起始值=0、增量值=0.0.2、终止值=1的矩阵

x=linspace(0,1,100);

%利用linspace,以区隔起始值=0终止值=1之间的元素数目=100

a=[]%空矩阵

a=

[]

zeros(2,2)%全为0的矩阵

00

»

ones(3,3)%全为1的矩阵

111

111

rand(2,4);

随机矩阵

7,b=1:

0.2:

5;

%更直接的方式

c=[ba];

%可利用先前建立的阵列a及阵列b,组成新阵列

a=1:

10;

b=0.1:

0.1:

1;

a+b*I%复数阵列

Columns1through4

1.0000+0.1000i2.0000+0.2000i3.0000+0.3000i4.0000+0.4000i

Columns5through8

5.0000+0.5000i6.0000+0.6000i7.0000+0.7000i8.0000+0.8000i

Columns9through10

9.0000+0.9000i10.0000+1.0000i

在MATLAB的内部资料结构中,每一个矩阵都是一个以行为主(Column-oriented)的阵列(Array)因此对於矩阵元素的存取,我们可用一维或二维的索引(Index)来定址

子矩阵

通过一个矩阵产生另一个矩阵的方法(上面已经有例子)

假如一个矩阵A

则A(m1:

m2,n1:

n2)

矩阵的运算

经典的算术运算符。

经典的算术运算符

运算符

MATLAB表达式

+

a+b

-

a-b

*

a*b

/或\

a/b或a\b

^

a^b

前面我们已经把经典的算术运算符告诉大家了,在这里同样也可以使用。

b=0:

10:

90;

a+b

11223344556677889100

a-b

1-8-17-26-35-44-53-62-71-80

a.*b%注意这里a后加了个“.”

02060120200300420560720900

a/b

0. 

1158

a\b

0000000000

0123456789

b./a

Columns1through7

05.00006.66677.50008.00008.33338.5714

Columns8through10

8.75008.88899.0000

a.\b

8.75008.88899.0000

a.^2

149162536496481100

说明:

在这里特别要注意一下有没有加点“.”之间的区别,这些算术运算符所运算的两个阵列是否需要长度一致。

矩阵转置运算

通过在矩阵变量后加’的方法来表示转置运算

b=0:

a'

1

3

4

5

10

c=a+b*i;

c'

1.0000

2.0000-10.0000i

3.0000-20.0000i

4.0000-30.0000i

5.0000-40.0000i

6.0000-50.0000i

7.0000-60.0000i

8.0000-70.0000i

9.0000-80.0000i

10.0000-90.0000i

矩阵函数

MATLAB常用数学函数

这些数学函数一般都可以作为矩阵函数。

sin(a)

exp(b)

求矩阵的长度的函数

a=[10,2,12;

34,2,4;

98,34,6];

size(a)

length(a)

3

好好的看一下两者之间的区别。

矩阵的几种基本变换操作

通过在矩阵变量后加’的方法来表示转置运算

103498

2234

1246

矩阵求逆

inv(a)

-0.01160.0372-0.0015

0.0176-0.10470.0345

0.0901-0.0135-0.0045

矩阵求伪逆

pinv(a)

4. 

左右反转

fliplr(a)

12210

4234

63498

5. 

矩阵的特征值

[u,v]=eig(a)

u=

-0.29600.3635-0.3600

-0.2925-0.41280.7886

-0.9093-0.83520.4985

v=

48.839500

0-19.84510

00-10.9943

6. 

上下反转

flipud(a)

98346

3424

10212

7. 

旋转90度

rot90(a)

1246

103498

8. 

取出上三角和下三角

triu(a)

10212

024

006

tril(a)

1000

3420

98346

字符串的基本操作

在matlab工作空间中,字符串是以向量形式来存储的,我们把用’’所包含的内容来表示该字符串。

s='

student'

s=

student

字符串也可以作为矩阵来连接。

s1='

who'

s1=

s=[s,s1]

studentwho

求字符串的长度

length(s)

?

size(s)

字符串函数

字符串转换

字符串到ASCII转换

dec2hex

十进制数到十六进制字符串转换

fprintf

把格式化的文本写到文件中或显示屏上

hex2dec

十六进制字符串转换成十进制数

hex2num

十六进制字符串转换成IEEE浮点数

int2str

整数转换成字符串

lower

字符串转换成小写

num2str

数字转换成字符串

setstr

ASCII转换成字符串

sprintf

用格式控制,数字转换成字符串

sscanf

用格式控制,字符串转换成数字

str2mat

字符串转换成一个文本矩阵

str2num

字符串转换成数字

upper

字符串转换成大写

eval(string)

作为一个MATLAB命令求字符串的值

blanks(n)

返回一个n个零或空格的字符串

deblank

去掉字符串中后拖的空格

feval

求由字符串给定的函数值

findstr

从一个字符串内找出字符串

字母存在时返回真值

空格字符存在时返回真值

isstr

输入是一个字符串,返回真值

lasterr

返回上一个所产生MATLAB错误的字符串

strcmp

字符串相同,返回真值

strrep

用一个字符串替换另一个字符串

strtok

在一个字符串里找出第一个标记

这里函数num2str用来把数值转换成字符串,字符串连接用来把所转换的数嵌人到一个字符串句子中。

按类似方式,int2str把整数转换成字符串。

无论是num2str还是int2str都调用函数sprintf,它用类似C语言语法把数值转换成字符串。

请注意函数str2num不能接受用户定义的变量,也不能执行转换过程的算术运算。

heisastudent'

;

a=abs(s)

10410132105115329732115116117100

101110116

num2str(a)

10410132105115329732115116117100101110116

int2str(s)

函数disp允许不打印它的变量名而显示一个字符串。

disp(s)

heisastudent

函数find用来找出小写字符的下标值,然后,从小写元素中只减去小写与大写之差,最后,用setstr把求得的数组转换成它的字符串表示。

find(s>

'

m'

5910111415

函数input能输入一个字符串:

x=input('

Enteranything>

'

'

s'

)。

这里,在函数input里的附加参量’s’告诉MATLAB,作为一个字符串,只要把用户输入传送到输出变量,就不需要引号。

事实上,如果将引号包括进去,它们就变成返回字符串的一部分。

无论fprintf还是sprintf以同样方式处理输入参量,但fprintf把输出送到显示屏或文件中,而sprintf把输出返回到一个字符串中。

函数feval与eval类似,但在用法上有更多的限制。

feval('

fun'

x)求由字符串'

给定的函数值,其输入参量是变量x。

即feval('

x)等价于求fun(x)值。

函数eval,feval的基本用途限在用户创建的函数内。

一般地,feval可求出有大量输入参量的函数值,例如,feval('

x,y,z)等价于求fun(x,y,z)值。

sin'

s)

-0.32160.45200.5514-0.97050.94540.55140.3796

Columns8through14

0.5514

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

当前位置:首页 > 小学教育 > 其它课程

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

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