实验1 Matlab基础实验资料.docx

上传人:b****6 文档编号:5992783 上传时间:2023-01-02 格式:DOCX 页数:16 大小:28.09KB
下载 相关 举报
实验1 Matlab基础实验资料.docx_第1页
第1页 / 共16页
实验1 Matlab基础实验资料.docx_第2页
第2页 / 共16页
实验1 Matlab基础实验资料.docx_第3页
第3页 / 共16页
实验1 Matlab基础实验资料.docx_第4页
第4页 / 共16页
实验1 Matlab基础实验资料.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

实验1 Matlab基础实验资料.docx

《实验1 Matlab基础实验资料.docx》由会员分享,可在线阅读,更多相关《实验1 Matlab基础实验资料.docx(16页珍藏版)》请在冰豆网上搜索。

实验1 Matlab基础实验资料.docx

实验1Matlab基础实验资料

实验1Matlab基础实验

成绩

专业班级数学131学号2013120101姓名报告日期3月31日.

 

实验类型:

●验证性实验○综合性实验○设计性实验

实验目的:

熟悉MATLAB系统的启动、退出、演示系统、帮助系统、

MATLAB的运行环境,掌握Matlab矩阵、算符、表达式、数据结构、数据类型、函数与程序设计及其运行、画图等的基础知识。

实验内容:

MATLAB系统的启动、退出、演示系统、帮助系统,Matlab中Notebook的应用,矩阵的建立、矩阵的拆分、特殊矩阵、矩阵算符及其表达式表示和计算,矩阵求逆,求行列式的值,矩阵特征值与特征向量计算,结构体、元胞数组,常用数学函数、画图函数应用,字符串与数值的转换,数据类型的转换。

编写求三位整数中是水仙花数的程序,所谓水仙花数是指一个3位数,其各位数字的立方之和等于该数本身,例如153是一个水仙花数,13+53+33=153。

编写求三位整数中是完数的程序,一个数如果恰好等于它的因子之和,这个数就称为完数。

实验报告:

1、MATLAB系统的启动、退出、演示系统、帮助系统

启动:

(1)使用Windows“开始”菜单。

(2)利用快捷方式。

点击桌面图标启动

退出:

(1)在MATLAB命令窗口输入Exit或Quit命令。

(2)单击MATLAB主窗口的“关闭”按钮。

演示系统:

在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演示系统。

帮助系统:

单击MATLAB主窗口工具栏中的help按钮;

在命令窗口中输入“help”命令

2、Matlab中Notebook的应用

用Matlab解决问题时,通常使用Matlab编辑器编写M文件,运用M文件中的程序得到结果。

如果要把程序与结果用文字处理软件用Word进行保存,就必须利用复制与粘贴功能在Matlab与Word之间进行,但程序在Word中不能运行。

Matlab中的Notebook软件工具可以满足用中文Word编写、运行Matlab程序与中文文件名,实现Matlab与中文Word的无缝链接。

3、矩阵的建立、矩阵的拆分、特殊矩阵、矩阵算符及其表达式表示和计算

矩阵的建立

1.直接输入法

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

具体方法如下:

将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。

>>A=[123;456;789]

A=

123

456

789

2.利用M文件建立矩阵

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

下面通过一个简单例子来说明如何利用M文件创建矩阵。

矩阵的拆分

>>B=magic(5)

B=

17241815

23571416

46132022

101219213

11182529

>>B(end,:

);

>>B([1,4],3:

end)

ans=

1815

19213

特殊矩阵

魔方矩阵

>>B=magic(5)

B=

17241815

23571416

46132022

101219213

11182529

范得蒙矩阵

C=vander([1;2;3;5])

C=

1111

8421

27931

1252551

希尔伯特矩阵

D=hilb(3)

D=

1.00000.50000.3333

0.50000.33330.2500

0.33330.25000.2000

帕斯卡矩阵

E=pascal(4)

E=

1111

1234

13610

141020

矩阵运算符及其表达式表示和计算

算术运算符:

+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)

>>x=[213;235];

>>y=x-1

y=

102

124

>>y=y+x

y=

315

359

>>y=x*4

y=

8412

81220

>>y=x\y

y=

000

-4.00004.0000-0.0000

4.0000-0.00004.0000

>>y=y/x

y=

00

-5.00003.0000

3.0000-1.0000

>>y=A^3

y=

468576684

106213051548

165620342412

关系运算符:

<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)

>>a=A>1

a=

011

111

111

>>b=A>=1

b=

111

111

111

>>c=A==1

c=

100

000

000

>>d=A~=1

d=

011

111

111

逻辑运算符:

&(与)、|(或)和~(非)

>>A=[1210]

A=

1210

>>B=[1323]

B=

1323

>>A&B

ans=

1110

>>A|B

ans=

1111

>>~A

ans=

0001

在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。

4、矩阵求逆

>>B=magic(5)

B=

17241815

23571416

46132022

101219213

11182529

>>inv(B)

ans=

-0.00490.0512-0.03540.00120.0034

0.0431-0.0373-0.00460.01270.0015

-0.03030.00310.00310.00310.0364

0.0047-0.00650.01080.0435-0.0370

0.00280.00500.0415-0.04500.0111

5、求行列式的值

>>A=[123;456;789]

A=

123

456

789

>>det(A)

ans=

0

6、矩阵特征值与特征向量计算

>>F=eig(A)

F=

16.1168

-1.1168

-0.0000

>>[V,D]=eig(A)

V=

-0.2320-0.78580.4082

-0.5253-0.0868-0.8165

-0.81870.61230.4082

 

D=

16.116800

0-1.11680

00-0.0000

7、结构体、元胞数组

结构体

1)直接创建:

>>student.name='Tom';

>>student.age=20;

>>student.sex='male';

>>student

student=

name:

'Tom'

age:

20

sex:

'male'

要创建时加上下标就行了

>>student

(1).name='Tom';

student

(1).age=20;

student

(1).sex='male';

>>student

(2).name='rose';

student

(2).age=21;

student

(2).sex='female';

>>student

student=

1x2structarraywithfields:

name

age

sex

>>student

(1)

ans=

name:

'Tom'

age:

20

sex:

'male'

>>student

(2)

ans=

name:

'rose'

age:

21

sex:

'female'

2)用关键字struct创建

>>student=struct('name',{'Tom','rose'},'age',{20,21});

>>student

student=

1x2structarraywithfields:

name

age

>>student

(1)

ans=

name:

'Tom'

age:

20

>>student

(2)

ans=

name:

'rose'

age:

21

3)要增加字段怎么办?

直接在结构体名后加.字段名

student

(1).id=100;

4)要删除字段呢?

使用函数rmfield(,)

student=rmfield(student,'id');

5)几个函数

fieldnames(student);%返回字段名

isfield(student,'age');

isstruct(student);

struct2cell(student);

元胞数组

它与数组的区别是:

每个元素可以是不同类型的,可是不同大小的矩阵,也可以是字符串,结构体等

使用元胞数组要区分(),{}的区别。

1)创建元胞数组

>>c(1,1)={[1,2;34]};

>>c(1,2)={'tomisasb'};

>>c(2,1)={[1,2,3,4,5,6]};

>>c(2,2)={struct('name','rose','age',21)};

>>c

c=

[2x2double]'tomisasb'

[1x6double][1x1struct]

>>c(1,1)

ans=

[2x2double]

>>c{1,1}

ans=

12

34

>>

{}:

可以返回一个元胞中的具体数据;

():

返回该位置的数组类型信息

>>B(3,3)={'hello'};

>>B

B=

[][][]

[][][]

[][]'hello'

>>

创建一个3*3的元胞数组,并组在(3,3)位置的赋值

2)几个函数

celldisp(c);%显示

cell2struct();

num2cell();

iscell();

总结:

1)struct和cell看起来是像相似的,其实可以这样理解struct只能过构造1*n个元素,而cell就是个变态版的数组;

2)他们真的没什么联系~~~

8、常用数学函数、画图函数应用

常用数学函数

三角函数和双曲函数

名称

含义

名称

含义

名称

含义

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

欧氏长度

sum

总和

prod

总乘积

dot

内积

cumsum

累计元素总和

cumprod

累计元素总乘积

cross

外积

画图函数应用

>>t=0:

0.1:

8*pi;

x=cos(t)+t.*sin(t);

y=sin(t)-t.*cos(t);

plot(x,y)

9、字符串与数值的转换

数值转换为字符串的函数

函数名

功能描述

char

数值截取小数部分后转换为等值字符

int2str

数值的小部分四舍五入后转换为字符串

num2str

把数值类型的数据转换为字符串

dec2hex

把一个正整数转换为16进制的字符串表示

dec2bin

把一个正整数转换为2进制的字符串表示

dec2base

把一个正整数转换为任意进制的字符串表示

字符串转换为数值的函数

函数名

功能描述

double

字符转换为等值的整数

str2num

字符串转换为数值类型

str2double

与str2num类似

hex2dec

把一个16进制的字符串转换为10进制整数

bin2dec

把一个2进制的字符串转换为10进制整数

base2dec

把一个任意进制的字符串转换为10进制整数

>>h=16;

>>g=dec2hex(h)

g=

10

>>hex2dec(g)

 

ans=

16

10、数据类型的转换

1、整型:

(int8;uint8;int16;uint16;int32;uint32;int64;uint64)

通过intmax(class)和intmin(class)函数返回该类整型的最大值和最小值。

2、浮点:

(single;double)

浮点数:

REALMAX('double')和REALMAX('single')分别返回双精度浮点和单精度浮点的最大值,REALMIN('double')和REALMIN('single')分别返回双精度浮点和单精度浮点的最小值。

3、逻辑:

(logical)

4、字符:

(char)

5、日期和时间

11、编写求三位整数中是水仙花数的程序

所谓水仙花数是指一个3位数,其各位数字的立方之和等于该数本身,例如153是一个水仙花数,13+53+33=153。

编写求三位整数中是完数的程序,一个数如果恰好等于它的因子之和,这个数就称为完数。

>>A=[];

fori=100:

999

z=rem(i,10);%求得i的个位数数码存放在z中

g=(i-z)/10;%用i的百位和十位组成一个两位数存放在g中

y=rem(g,10);%求得i的十位数数码存放在y中

x=(g-y)/10;%求得i的百位数数码存放在x中

ifx^3+y^3+z^3==i

A=[A,i];

end

end

A

A=

153370371407

 

实验总结

通过这次实验,熟悉MATLAB系统的启动、退出、演示系统、帮助系统、MATLAB的运行环境,掌握Matlab矩阵、算符、表达式、函数与程序设计及其运行、画图等的基础知识。

发现了自己在基础知识方面还有欠缺,因此我在今后的学习中一定会夯实基础,尤其是要加强相关函数的记忆,加强实践演练。

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

当前位置:首页 > 高等教育 > 工学

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

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