实验01 MATLAB运算基础第2章.docx

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

实验01 MATLAB运算基础第2章.docx

《实验01 MATLAB运算基础第2章.docx》由会员分享,可在线阅读,更多相关《实验01 MATLAB运算基础第2章.docx(46页珍藏版)》请在冰点文库上搜索。

实验01 MATLAB运算基础第2章.docx

实验01MATLAB运算基础第2章

实验01MATLAB运算基础

(第2章MATLAB数据及其运算)

一、实验目的

1.熟悉启动和退出MATLAB的方法。

2.熟悉MATLAB命令窗口的组成。

3.掌握建立矩阵的方法。

4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。

二、实验内容

1.数学表达式计算

先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

1.1计算三角函数

(注意:

度要转换成弧度,e2如何给出)

命令窗口中的执行过程:

Z1=(2*sin(85*pi/180))/(1+exp

(2))

Z1=

0.2375

1.2计算自然对数

,其中

(提示:

clc命令擦除命令窗口,clear则清除工作空间中的所有变量,使用时注意区别,慎用clear命令。

应用点乘方)

命令窗口中的执行过程:

x=[2,1+2i;-0.45,5];

>>Z2=0.5*log(x+sqrt(1+x.^2))

Z2=

0.72180.7347+0.5317i

-0.21801.1562

1.3求数学表达式的一组值

提示:

利用冒号表达式生成a向量,求各点的函数值时用点乘运算。

命令窗口中的执行过程:

a=[-3.0:

0.1:

3.0];

>>Z3=(exp(0.3*a)-exp(-0.3*a))*0.5.*sin(a+0.3)+log((0.3+a)*0.5)

Z3=

Columns1through3

0.7388+3.1416i0.7696+3.1416i0.7871+3.1416i

Columns4through6

0.7913+3.1416i0.7822+3.1416i0.7602+3.1416i

Columns7through9

0.7254+3.1416i0.6784+3.1416i0.6196+3.1416i

Columns10through12

0.5496+3.1416i0.4688+3.1416i0.3780+3.1416i

Columns13through15

0.2775+3.1416i0.1680+3.1416i0.0497+3.1416i

Columns16through18

-0.0771+3.1416i-0.2124+3.1416i-0.3566+3.1416i

Columns19through21

-0.5104+3.1416i-0.6752+3.1416i-0.8536+3.1416i

Columns22through24

-1.0497+3.1416i-1.2701+3.1416i-1.5271+3.1416i

Columns25through27

-1.8436+3.1416i-2.2727+3.1416i-2.9837+3.1416i

Columns28through30

-37.0245-3.0017-2.3085

Columns31through33

-1.8971-1.5978-1.3575

Columns34through36

-1.1531-0.9723-0.8083

Columns37through39

-0.6567-0.5151-0.3819

Columns40through42

-0.2561-0.1374-0.0255

Columns43through45

0.07920.17660.2663

Columns46through48

0.34780.42060.4841

Columns49through51

0.53790.58150.6145

Columns52through54

0.63660.64740.6470

Columns55through57

0.63510.61190.5777

Columns58through60

0.53270.47740.4126

Column61

0.3388

1.4求分段函数的一组值

,其中t=0:

0.5:

2.5

提示:

用逻辑表达式求分段函数值。

命令窗口中的执行过程:

t=[0:

0.5:

2.5];

>>Z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2.*t+1).*(t>=2&t<3)

Z4=

00.250001.25001.00002.2500

1.5对工作空间的操作

接着显示MATLAB当前工作空间的使用情况并保存全部变量

提示:

用到命令who,whos,save,clear,load,请参考教材相关内容。

命令窗口中的执行过程:

t=[0:

0.5:

2.5];

>>Z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2.*t+1).*(t>=2&t<3)

Z4=

00.250001.25001.00002.2500

>>who

Yourvariablesare:

Z1Z2Z3Z4atx

>>whos

NameSizeBytesClassAttributes

Z11x18double

Z22x264doublecomplex

Z31x61976doublecomplex

Z41x648double

a1x61488double

t1x648double

x2x264doublecomplex

>>save

Savingto:

matlab.mat

>>clear

>>load

Loadingfrom:

matlab.mat

2.矩阵运算与数组运算

已知:

2.1矩阵加、减和数乘运算

A+6*B和A-B+I(其中I为单位矩阵。

注意:

如何得到单位矩阵)

命令窗口中的执行过程:

formatcompact

>>A=[12,34,-4;34,7,87;3,65,7];

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

C=A+6*B

C=

1852-10

467105

215349

>>I=eye(3)

I=

100

010

001

C=A-B+I

C=

1231-3

32884

0671

2.2矩阵乘积和点乘积

A*B和A.*B

命令窗口中的执行过程:

A*B

ans=

684462

309-72596

154-5241

>>A.*B

ans=

121024

680261

9-13049

2.3矩阵的乘方和点乘方

A^3和A.^3

命令窗口中的执行过程:

C=A^3

C=

3722623382448604

247370149188600766

78688454142118820

>>C=A.^3

C=

172839304-64

2.4矩阵的右除和左除

A/B及B\A

命令窗口中的执行过程:

C=A/B

C=

16.4000-13.60007.6000

35.8000-76.200050.2000

67.0000-134.000068.0000

>>C=B\A

C=

109.4000-131.2000322.8000

-53.000085.0000-171.0000

-61.600089.8000-186.2000

2.5拼接矩阵成大的矩阵

[A,B]和[A([1,3],:

);B^2]

命令窗口中的执行过程:

C=[A,B]

C=

1234-413-1

34787203

36573-27

>>C=([1,3],:

);B^2]

?

?

?

C=([1,3],:

);B^2]

C=[A([1,3],:

);B^2]

C=

1234-4

3657

451

11019

20-540

3.矩阵乘积、矩阵的子矩阵

设有矩阵A和B

3.1求矩阵A和B的乘积

求它们的乘积并赋给C。

(提示:

可简化A的输入,用冒号表达式、reshape、矩阵转置)

命令窗口中的执行过程:

A=[1:

1:

25];

A=reshape(A,5,5);

>>A=A'

A=

12345

678910

1112131415

1617181920

2122232425

>>B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];

>>C=A*B

C=

9315077

258335237

423520397

588705557

753890717

3.2求矩阵C的子矩阵

将矩阵C的右下角3×2子矩阵赋给D。

命令窗口中的执行过程:

formatcompact

>>D=[C(3:

5,2:

3)]

D=

520397

705557

890717

3.3查看MATLAB工作空间的使用情况

命令窗口中的执行过程:

whos

NameSizeBytesClassAttributes

C5x3120double

D3x248double

4.完成下列数据操作

4.1求[100,999]之间能被21整除的数的个数

提示:

先利用冒号表达式,再利用find和length函数。

命令窗口中的执行过程:

A=[100:

1:

999];

>>B=rem(A,21)==0;

>>K=find(B);

>>length(K)

ans=

43

4.2建立一个字符串向量,删除其中的大写字母

提示:

利用find函数和空矩阵。

命令窗口中的执行过程:

A=

ABc123d4e56Fg9

>>B=(A>='A'&A<='Z')

B=

Columns1through11

11000000000

Columns12through14

100

>>K=find(B)

K=

1212

>>A(K)

ans=

ABF

A(K)=[]

A=

c123d4e56g9

>>A

A=

c123d4e56g9

三、实验提示

1.1计算三角函数提示

(注意:

度要转换成弧度,e2如何给出)

提示1:

示例:

点击CommandWindow窗口右上角的

,将命令窗口提出来成悬浮窗口,适当调整窗口大小。

命令窗口中的执行过程:

提示2:

e2的表示请查表“2.3常用数学函数及其含义”。

用exp

(2)。

1.2计算自然对数提示

,其中

提示1:

clc命令擦除命令窗口,clear则清除工作空间中的所有变量,使用时注意区别,慎用clear命令。

提示2:

ln和开方的表示请查“表2.3常用数学函数及其含义”。

用log,sqrt。

提示3:

x2是数组运算。

用x.^2或x.*x。

提示4:

i为复数的虚数单位(j也是)。

若将i作变量则其虚数单位无效,恢复用cleari。

慎用i,j做变量。

1.4求分段函数的一组值提示

,其中t=0:

0.5:

2.5

提示:

用逻辑表达式求分段函数值。

提示1:

参考例2.4。

提示2:

对于第1个分段条件表达式0≤t<1,有以下结果:

对于第2、3个分段条件表达式,有类似的结果。

于是,可以得到:

分段函数值=第1个表达式*第1个分段条件表达式+第2个表达式*第2个分段条件表达式+第3个表达式*第3个分段条件表达式+…

注意:

分段区间是不重叠的。

对于在定义区间中任给的变量值,它只满足一个分段条件表达式(值为1),其它不满足(值为0),满足的对应项的值是其表达式的值,不满足的对应项值为0。

代入本题得:

z4=t^2*(t>=0&&t<1)+(t^2-1)*(t>=1&&t<2)+(t^2+2*t+1)*(t>=2&&t<3)

继续做下去可以完成本题。

若变量取100个值,求对应的函数值,还按这种方法来求做就有问题啦。

MATLAB提供了一种简单的方法:

t不是一个个取值,而是把所有值放到t中成一个行向量,表达式自动逐个将t中的值代入表达式计算,得到对应的一组函数值。

实现这种功能需要将上面的表达式中的乘方号(^)和乘号(*)前加点(.),即改成(.^)和(.*),相当于循环,它不同于线性代数中相应的矩阵乘方(^)和乘法(*)运算。

用冒号表达式更简单:

以下是分解式:

至此,能理解表达式的计算结果了吗?

1.5对工作空间的操作提示

接着显示MATLAB当前工作空间的使用情况并保存全部变量

提示1:

用到命令who,whos,save,clear,load,请参考教材相关内容。

步骤:

查看工作空间;保存工作空间;清除工作空间;再查看工作空间;装入工作空间;再查看工作空间。

2.1矩阵加、减和数乘运算提示

A+6*B和A-B+I(其中I为单位矩阵。

注意:

如何得到单位矩阵)

提示1:

3阶单位矩阵用eye(3)或eye(3,3)。

4.完成下列数据操作

4.1求[100,999]之间能被21整除的数的个数提示

提示:

先利用冒号表达式,再利用find和length函数。

提示1:

步骤:

用冒号表达式把[100,999]之间的整数放在一个向量里(如A);

用mod求得一个向量(如B),使A中能被21整除的数在B中对应位置为1,B的其它位置为0;

用find求得B中不为0的元素的序号,放入一个向量中(如K);

显示A中对应K的元素;%即能被21整除的数

用length显示K的元素个数。

%即能被21整除的数的个数

4.2建立一个字符串向量,删除其中的大写字母提示

提示:

利用find函数和空矩阵。

提示1:

利用find函数和空矩阵。

注意使用关系运算、逻辑运算。

注意!

本题中大写字母所在位置是随机的,要用关系运算和逻辑运算,以及find找到它们所在位置的序号。

提示2:

四、教程:

第2章MATLAB数据及其运算

2.1MATLAB数据的特点p17

矩阵

是MATLAB最基本、最重要的数据对象。

MATLAB的大部分运算或命令都是在矩阵(复数域上)运算的意义下执行的。

标量对应仅含一个元素的矩阵。

数值数据

双精度数占64位,转换函数double

单精度数占32位,转换函数single

带符号整数转换函数int8,int16,int32

无符号整数转换函数uint8,uint16,uint32

字符数据转换函数char

结构体类型(Structure)

单元类型(Cell)

逻辑型非0为true,0为false

2.2变量及其操作

2.2.1变量与赋值

1.变量命名

Ø以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。

Ø区分字母的大小写。

MATLAB提供的标准函数名以及命令名必须用小写字母。

2.赋值语句

(1)变量=表达式

(2)表达式(值赋给预定义变量ans)

其中,表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。

例2.1计算表达式的值p18

的计算结果赋给变量x,然后显示出结果。

>>x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)

x=

1.1980+0.6572i

其中,pi和i都是MATLAB预先定义的变量,分别代表圆周率π和虚数单位。

3.预定义变量p18

表2.1常用的预定义变量及其含义

预定义变量

含义

ans

eps

pi

i,j

inf,Inf

NaN,nan

nargin

nargout

realmax

realmin

lasterr

lastwar

默认赋值变量

机器零阈值2.2204e-016

π近似值

虚数单位

无穷大,如1/0的结果

非数,如0/0,inf/inf的结果

函数输入参数个数

函数输出参数个数

最大正实数

最小正实数

存放最新的错误信息

存放最新的警告信息

预定义变量有特定的含义,应尽量避免重新赋值。

i=2%对预定义变量重新赋值

2*i

cleari%恢复预定义变量

2*i

i=

2

ans=

4

ans=

0+2.0000i

2.2.2变量的管理p19

1.内存变量的显示与删除

显示工作空间中驻留的变量名清单及信息命令:

who%显示变量名清单

whos%显示变量名清单及信息

删除工作空间中的变量命令:

clear变量名

工作空间窗口专门用于内存变量的管理。

在该窗口中显示所有内存变量的属性。

●当选中某些变量后,再单击Delete按钮,将删除这些变量。

●双击变量后,将进入变量编辑器。

可以观察变量中的具体元素,也可修改具体元素。

●输入较大矩阵时,可采用变量编辑器。

2.内存变量文件

用MAT文件可把当前工作空间中的一些有用变量长久地保留下来,扩展名是.mat。

MAT文件的生成和装入,常用格式为:

save文件名[变量名表][-append][-ascii]

load文件名[变量名表][-ascii]

●文件名可带路径,不需带扩展名.mat,默认对.mat文件进行操作。

●变量名表变量名以空格分隔。

省略时,保存或装入全部变量。

●-ascii选项使文件以ASCII格式处理,省略时以二进制格式处理。

●-append选项使变量追加到MAT文件中。

2.2.3数据的输出格式p20

用十进制数表示一个常数,可采用日常记数法和科学记数法。

一般情况下,内部每一个数据元素都用双精度数表示和存储。

设置或改变数据输出格式

format命令的格式为:

format格式符

格式符决定数据的输出格式

表2.2控制数据输出格式格式符及含义

格式符

含义

short

(默认)

小数点后4位,不超过7位有效数字。

大于1000的实数用5位有效数字的科学记数法

long

15位有效数字

shorte

5位有效数字科学记数法

longe

15位有效数字科学记数法

shortg

从short和shorte选择最佳方式

longg

从long和longe选择最佳方式

rat

近似有理数表示

hex

十六进制表示

+

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

bank

银行格式,元、角、分表示

compact

输出变量之间无空行

loose

输出变量之间有空行

可用Helpformat查询

例输出格式format

>>4/3%当前输出格式

ans=

1.3333

>>formatlong%15位有效数字形式输出

>>4/3

ans=

1.333333333333333

>>formatrat%近似有理数表示

>>4/3

ans=

4/3

>>formatcompact%输出变量之间没有空行

>>4/3

ans=

4/3

>>formatloose%输出变量之间有空行

>>4/3

ans=

4/3

>>formatshort%short为默认输出格式

2.3矩阵的表示p21

表矩阵操作函数及其含义

函数名

含义

eye

ones

linspace

sub2ind

ind2sub

size

length

reshape

end

[]

单位矩阵

全1矩阵

生成行向量

下标转换成序号

序号转换成下标

给出矩阵的行数和列数

给出矩阵行数和列数中较大者

矩阵重排

预定义变量,某一维末尾下标

空矩阵

2.3.1矩阵的建立

1.直接输入法

从键盘直接输入矩阵的元素。

方法如下:

Ø将矩阵的元素用方括号括起来,输入元素;

Ø同一行的元素间用空格或逗号分隔;

Ø不同行的元素间用分号(或回车)分隔。

>>A=[1,2,3;456;7,89]

A=

123

456

789

2.利用M文件建立矩阵

对于比较大且复杂的矩阵,可专门建立一个M文件。

例2.2利用M文件建立矩阵

(1)启动文本编辑器,输入:

MYMAT=[101,102,103,104,105;

201,202,203,204,205;

301,302,303,304,305]

(2)存盘(文件名为mymatrix.m)。

(3)在命令窗口中输入mymatrix,即运行该M文件,就建立一个名为MYMAT的矩阵。

3.建立大矩阵(矩阵拼接)

大矩阵可由方括号中的小矩阵或向量建立。

>>A=[1,2;3,4]

A=

12

34

>>eye

(2)

ans=

10

01

>>ones

(2)

ans=

11

11

>>C=[A,eye

(2),ones

(2),A]

C=

12101112

34011134

2.3.2冒号表达式

用冒号表达式产生行向量,一般格式:

e1:

e2:

e3

其中e1为初始值,e2为步长,e3为终止值上限。

用linspace函数产生行向量。

调用格式:

linspace(a,b,n)

其中a和b是第一个和最后一个元素,n是元素总数。

2.3.3矩阵的拆分

1.矩阵元素

通过下标引用矩阵的元素,例

>>A=[1,2,3;4,5,6]

A=

123

456

>>A(2,3)

ans=

6

>>A(2,2)=22;

>>A

A=

123

4226

>>A(4,5)=10;

>>A

A=

12300

422600

00000

000010

采用矩阵元素的序号来引用矩阵元素。

元素的序号是相应元素在内存中的排列顺序。

在MATLAB中,矩阵按列存储,先第一列,再第二列,依次类推。

>>A=[1,2,3;4,5,6]

A=

12

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

当前位置:首页 > PPT模板 > 商务科技

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

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