南华大学《MATLAB及应用》实验报告1.docx

上传人:b****7 文档编号:11194055 上传时间:2023-02-25 格式:DOCX 页数:19 大小:51.44KB
下载 相关 举报
南华大学《MATLAB及应用》实验报告1.docx_第1页
第1页 / 共19页
南华大学《MATLAB及应用》实验报告1.docx_第2页
第2页 / 共19页
南华大学《MATLAB及应用》实验报告1.docx_第3页
第3页 / 共19页
南华大学《MATLAB及应用》实验报告1.docx_第4页
第4页 / 共19页
南华大学《MATLAB及应用》实验报告1.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

南华大学《MATLAB及应用》实验报告1.docx

《南华大学《MATLAB及应用》实验报告1.docx》由会员分享,可在线阅读,更多相关《南华大学《MATLAB及应用》实验报告1.docx(19页珍藏版)》请在冰豆网上搜索。

南华大学《MATLAB及应用》实验报告1.docx

南华大学《MATLAB及应用》实验报告1

 

 

核科学技术学院

实验报告

实验项目名称MATLAB数值计算

所属课程名称MATLAB及应用

实验类型上机实验

实验日期2015年12月25日

指导教师

班级

学号

姓名

成绩

 

一、实验名称

MATLAB数值计算

二、实验目的

(1)掌握MATLAB变量的使用

(2)掌握MATLAB数组的创建

(3)掌握MATLAB数组和矩阵的运算

(4)熟悉MATLAB多项式的运用 

三、实验原理

1.矩阵分析

    矩阵转置:

单引号(’)

    矩阵的旋转:

rot90(A,k),功能是将矩阵A逆时针旋转90度的k倍,缺省值是1

    矩阵的左右翻转:

fliplr(A)

    矩阵的上下翻转:

flipud(A)

    矩阵的逆:

inv(A),与A^(-1)等价

    矩阵的行列式:

det(A)

    矩阵的秩:

rank(A)

    矩阵的迹:

trace(A)

    将矩阵化为最简式:

rref(A)

    矩阵的特征值与特征向量:

(1)E=eig(A);矩阵A的所有特征值构成向量E;

(2)[V,D]=eig(A);A的所有特征值构成对角阵D,A的特征向量构成V的列向量;

 

  2.多项式

    多项式的建立:

若多的项的全部根构成的向量为X,则以X为根的多项式为poly(X)

    多项式的根:

roots(p)计算以向量p为系数的多项式的根,包括重根,复根

    多项式求值:

polyval(p,x),p是多项式的系数,x可以是一个数也可以是一个矩阵

多项式求拟合次数:

polyfit(x,y,n),x可以是一个数也可以是一个矩阵,y是x对应的数或矩阵

    多项式的四则运算:

(1)P1+P2;

(2)P1-P2;(3)conv(P1,P2),(4)deconv(P1,P2)

四、实验内容

1.已知矩阵   11121314

21222324

A=31323334

41424344

(1)如何输出A的第1列?

(2)如何输出A的第2行?

(3)如何输出A的第2列和第3列?

(4)要得到

,怎么办?

(5)如何输出A的第1列和第3列?

(6)如何将21和31按一列输出?

(7)如何将A所有元素按从最左列至最右列新排列为一列输出?

(8)如何将A原阵输出?

(9)如何输出2阶全1阵?

(10)如何输出2阶单位阵?

(11)试用分块矩阵的方法生成阵

1112131411

2122232411

3132333410

4142434401

(12)求A的主对角线

(13)求除去A阵第1列后新阵的主对角线

(14)求除去A阵第1行后新阵的主对角线

(15)求除去A阵从左到右前2列后新阵的主对角线

(16)要分别单独输出A阵元素11、22、33、44,怎么办?

(17)如何将11、31、12、32、13、33、14、34按顺序一行输出?

2.已知

.求

(1)A的逆;

(2)A的行列式;(3)A的迹;

(4)A的所有特征向量和特征值。

3.A=magic(3),B=7*rand(3),计算数组A、B乘积,计算A&B,A|B,~A,A==B,A>B如何生成一个三阶幻方、3阶随机阵、1行2列全零阵、3行4列全一阵、3阶单位阵?

4.生成一个4阶Hilbert矩阵H,

(1)求H的转置;

(2)将H旋转90度;(3)对H实行左右翻转;(4)对H实行上下翻转。

5输入如下矩阵A

          0  /3 

       A=/6/2

(1)求矩阵B1, B1中每一元素为对应矩阵A中每一元素的正弦函数

(2)求矩阵B2,B2中每一元素为对应矩阵A中每一元素的余弦函数

(3)求B12+B22

(4)求矩阵A的特征值与特征矢量:

称特征矢量为M,而特征值矩阵为L

(5)求Msin(L)M-1

(6)使用funm命令求矩阵A的正弦函数(结果应该与(5)同)

(7)求cosA

(8)证明sin2A+cos2A=II是全1阵

6某专业有三名研究生,本学期选修了四门课程,若这些研究生的姓名,学号,性别,出生年月,课程名称,考试成绩可任意假定,

(1)分别用结构型变量和细胞型变量表示以上信息;

(2)举例说明查阅以上任何一条信息的方法;

(3)求每一个研究生的平均成绩.

7.已知多项式

,试求:

(1)p(x)的根;

(2)由其根生成一个多项式q(x)并与p(x)比较;(3)计算p(1.5),p(-2),p(5)的值。

8已知矩阵A=[1.2350.9;51.756;3901;1234],求

(1)A的特征多项式

(2)特征多项式中未知数为20时的值

(3)特征多项式的根

(4)特征多项式的导数

9.在实验中测得如下10组数据:

X12345610121516

Y7151930383723693928

(1)求最多能拟合多项式的次数是多少?

并求出各项系数。

(2)将数据点和拟合曲线在同一图中绘出。

 

五、实验过程及结果(含源代码)

1、在MATLAB中新建.m文件,输入实验代码如下并保存:

clc,clear

A=[11121314;21222324;31323334;41424344];

A1=A(:

1)

A2=A(2,:

A3=A(:

2:

3)

A4=A(2:

3,2:

3)

A5=A(:

1:

2:

3)

A6=A(2:

3)

A7=A(:

A8=A(:

:

A9=ones(2,2)

A10=eye

(2)

A11=[A,[ones(2,2);eye

(2)]]

A12=diag(A)

A13=diag(A,1)

A14=diag(A,-1)

A15=diag(A,2)

点击“run”运行得到结果如下:

A1=

11

21

31

41

A2=

21222324

A3=

1213

2223

3233

4243

A4=

2223

3233

A5=

1113

2123

3133

4143

A6=

2131

A7=

11

21

31

41

12

22

32

42

13

23

33

43

14

24

34

44

A8=

11121314

21222324

31323334

41424344

A9=

11

11

A10=

10

01

A11=

1112131411

2122232411

3132333410

4142434401

A12=

11

22

33

44

A13=

12

23

34

A14=

21

32

43

A15=

13

24

2、在命令窗口输入代码如下:

A=[23-54;-127-3;5-421;76-2-3];

inv(A)

ans=

0.01980.00100.10690.0610

0.11990.1116-0.06360.0271

0.07090.16160.0667-0.0448

0.23880.11780.0777-0.1069

det(A)

ans=

-1918

trace(A)

ans=

3

E=eig(A)

E=

-5.6545

4.6888

1.9828+8.2711i

1.9828-8.2711i

[V,D]=eig(A)

V=

0.38500.4655-0.0889+0.4794i-0.0889-0.4794i

-0.11960.4083-0.1447-0.5624i-0.1447+0.5624i

-0.19720.48720.59030.5903

-0.89360.6157-0.1444+0.2359i-0.1444-0.2359i

D=

-5.6545000

04.688800

001.9828+8.2711i0

0001.9828-8.2711i

3、在命令窗口键入实验代码如下:

>>A=magic(3),B=7*rand(3)

A=

816

357

492

B=

6.65093.40193.1953

1.61806.23910.1295

4.24795.33475.7499

>>A*B

ans=

80.312665.462260.1908

57.777878.743850.4824

49.661180.428725.4465

>>A&B

ans=

111

111

111

>>A|B

ans=

111

111

111

>>~A

ans=

000

000

000

>>A==B

ans=

000

000

000

>>A>B

ans=

101

101

010

4、在命令窗口键入实验代码及运行结果如下:

>>H=hilb(4)

H=

1.00000.50000.33330.2500

0.50000.33330.25000.2000

0.33330.25000.20000.1667

0.25000.20000.16670.1429

>>H'

ans=

1.00000.50000.33330.2500

0.50000.33330.25000.2000

0.33330.25000.20000.1667

0.25000.20000.16670.1429

>>rot90(H)

ans=

0.25000.20000.16670.1429

0.33330.25000.20000.1667

0.50000.33330.25000.2000

1.00000.50000.33330.2500

>>fliplr(H)

ans=

0.25000.33330.50001.0000

0.20000.25000.33330.5000

0.16670.20000.25000.3333

0.14290.16670.20000.2500

>>flipud(H)

ans=

0.25000.20000.16670.1429

0.33330.25000.20000.1667

0.50000.33330.25000.2000

1.00000.50000.33330.2500

5、在命令窗口键入实验代码及运行结果如下:

>>A=[0pi/3;pi/6pi/2]

A=

01.0472

0.52361.5708

>>B1=sin(A)

B1=

00.8660

0.50001.0000

>>B2=cos(A)

B2=

1.00000.5000

0.86600.0000

>>B1^2+B2^2

ans=

1.86601.3660

1.36601.8660

>>[M,L]=eig(A)

M=

-0.9628-0.4896

0.2703-0.8719

L=

-0.29400

01.8648

>>M*sin(L)*inv(M)

ans=

-0.12000.6048

0.30240.7873

>>funm(A,@sin)

ans=

-0.12000.6048

0.30240.7873

>>funm(A,@cos)

ans=

0.7873-0.6048

-0.3024-0.1200

>>(funm(A,@sin))^2+(funm(A,@cos))^2

ans=

1.0000-0.0000

-0.00001.0000

6、实验代码及运行结果如下:

(1)分别用细胞型变量和结构型变量表示题示信息如下:

%细胞型变量

A1={'李明',20130001,'男',19890214,'MATLAB',99,'ENGLISH',88,'Matrix',96,'Math',94};

A2={'张远',20130006,'男',19900425,'MATLAB',98,'ENGLISH',80,'Matrix',90,'Math',96};

A3={'王云',20130009,'女',19901001,'MATLAB',97,'ENGLISH',89,'Matrix',88,'Math',90};

%结构型变量

B1=struct('Name','李明','StuNumber',20130001,'Sex','男','Birth',19890214,...

'MATLAB',99,'ENGLISH',88,'Matrix',96,'Math',94);

B2=struct('Name','张远','StuNumber',20130006,'Sex','男','Birth',19900425,...

'MATLAB',98,'ENGLISH',80,'Matrix',90,'Math',96);

B3=struct('Name','王云','StuNumber',20130009,'Sex','女','Birth',19901001,...

'MATLAB',97,'ENGLISH',90,'Matrix',88,'Math',90);

C=[B1B2B3];

(2)查询信息,如查询李明的学号,实验代码如下:

name='李明'

information='StuNumber';

fori=1:

3

ifstrcmp(C(i).Name,name)==1

disp(information);

getfield(C(i),information)

break;

end

end

运行结果如下:

name=

李明

StuNumber

ans=

20130001

(3)求每位研究生的平均成绩:

fori=1:

3

Average(i)=(C(i).MATLAB+C(i).ENGLISH+C(i).Matrix+C(i).Math)/4;

end

Average

结果如下:

Average=

94.250091.000091.2500

 

7、在命令窗口键入实验代码及运行结果如下:

>>p=[3-279];

>>x=roots(p)

x=

0.7513+1.7392i

0.7513-1.7392i

-0.8358+0.0000i

>>q=poly(x)

q=

1.0000-0.66672.33333.0000

>>b=[1.5-25];

>>polyval(p,b)

ans=

25.1250-37.0000369.0000

8、在命令窗口键入实验代码及运行结果如下:

>>A=[1.2350.9;51.756;3901;1234];

>>p=poly(A);

>>poly2sym(p)

ans=

x^4-(69*x^3)/10-(3863*x^2)/50-(8613*x)/100+12091/20

>>polyval(p,20)

ans=

7.2778e+04

>>roots(p)

ans=

13.0527+0.0000i

-4.1671+1.9663i

-4.1671-1.9663i

2.1815+0.0000i

>>Dp=polyder(p);

>>poly2sym(Dp)

ans=

4*x^3-(207*x^2)/10-(3863*x)/25-8613/100

9、因题目给出的实验数据是10组,可以看做是10个多项式方程组,仅当多项式的次数小于方程组的个数时,方程组为超定方程,此时才可以进行最小二乘多项式拟合,因此,最多拟合次数为9次,实验代码及运行结果如下:

X=[12345610121516];

Y=[7151930383723693928];

a=polyfit(X,Y,9);

x2=1:

0.1:

16;

y2=polyval(a,x2);

plot(X,Y,'r*',x2,y2,'b-')

legend('原数据点','拟合曲线')

拟合多项式系数如下:

a=

Columns1through7

0.0000-0.00050.0150-0.26932.9713-20.512685.9563

Columns8through10

-204.4409250.3796-107.0989

实验图形如下所示:

 

(此处按题号顺序写上所写的程序语句内容以及matlab中出现的程序运行结果)

六、实验总结

通过本次实验,学会了很多MATLAB知识。

如掌握了如何使用MATLAB变量,如何创建MATLAB数组,MATLAB数组和矩阵的运算以及熟悉了MATLAB多项式的运用。

学会了运用MATLAB这个强大的工具进行矩阵的分析以及多项式的计算及应用。

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

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

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

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