matlab实习报告3.docx
《matlab实习报告3.docx》由会员分享,可在线阅读,更多相关《matlab实习报告3.docx(14页珍藏版)》请在冰豆网上搜索。
![matlab实习报告3.docx](https://file1.bdocx.com/fileroot1/2023-1/6/19b34943-a0bc-4670-b913-42357f8603c2/19b34943-a0bc-4670-b913-42357f8603c21.gif)
matlab实习报告3
matlab实验报告
实验二MATLAB的基本数值运算
一.实验目的
MATLAB具有非常强大的数值计算能力,对各种常量(包括一般常量和固定常量)、各种变量(包括数值变量、字符变量、单元形变量和结构变量)熟悉其用法,向量及其运算,矩阵及其运算,数组及其运算,多项式及其各种运算,线性方程组的求解,数值统计的基本函数及其应用,简单插值函数,简单优化函数,微分方程数值解的基本函数等。
二.实验要求
理解常量、变量、向量、矩阵、多项式等概念,掌握向量在MATLAB中的表示,熟练掌握矩阵及其运算,数组及其运算,多项式运算,线性方程组求解,了解数值统计的基本函数,简单插值函数,简单优化函数,微分方程数值解的基本函数等。
三.实验内容
实验一第二节:
1.简单的矩阵建立与矩阵元素:
>>a=[5687;7154;2383]
a=
5687
7154
2383
>>b=cos(a)
b=
0.28370.9602-0.14550.7539
0.75390.54030.2837-0.6536
-0.4161-0.9900-0.1455-0.9900
>>c=a+0.3*(1+b/2)
c=
5.34256.44408.27827.4131
7.41311.38105.34254.2020
2.23763.15158.27823.1515
>>d=ones(5)+eye(5)
d=
21111
12111
11211
11121
11112
>>x=[-3.2sqrt(5)(2+5+1)*2/4]
x=
-3.20002.23614.0000
>>x(6)=abs(x
(2))
x=
-3.20002.23614.0000002.2361
>>e=[a,b]
e=
5.00006.00008.00007.00000.28370.9602-0.14550.7539
7.00001.00005.00004.00000.75390.54030.2837-0.6536
2.00003.00008.00003.0000-0.4161-0.9900-0.1455-0.9900
>>f=e(:
[3,6])
f=
8.00000.9602
5.00000.5403
8.0000-0.9900
2.常量变量与表达式:
>>g='Icandoit'
g=
Icandoit
>>A='Hello'
A=
Hello
>>B=2*A
B=
144202216216222
3.了解命令窗口的常用命令及标点符号的使用;
4.学习并掌握内存变量的编辑、保存和清除;
5.算术运算:
(1)加减法运算:
>>h=[25;79];g=ones
(2);k=h+g
k=
36
810
>>l=k+2
l=
58
1012
(2)乘除法运算:
>>m=k*l
m=
7596
140184
>>n=pi*m
n=
235.6194301.5929
439.8230578.0530
>>C=k.*l
C=
1548
80120
>>D=l.*k
D=
1548
80120
数组的乘法满足交换率
6.乘幂运算:
>>a=[5687;7154;2383]
a=
5687
7154
2383
>>a.^2
ans=
25366449
4912516
49649
7.转置运算:
>>a=[123;426;749]
a=
123
426
749
>>c=a'
c=
147
224
369
8.关系运算与逻辑运算:
(1)关系运算:
>>a=[123;426;749];b=[521;426;348];c=a>b
c=
001
000
101
(2)逻辑运算:
>>a=[123;426;749];b=[521;426;348];c=a&b
c=
111
111
111
>>a=[123;406;749];b=[521;426;348];c=a&b
c=
111
101
111
>>a=[123;406;749];b=[521;426;348];c=a|b
c=
111
111
111
>>a=[123;426;749];c=~a
c=
000
000
000
9.建立特殊数组:
>>a=[12;42]
a=
12
42
>>b=[a,eye(2,3);ones(3,2),rand(3)]
b=
1.00002.00001.000000
4.00002.000001.00000
1.00001.00000.79220.03570.6787
1.00001.00000.95950.84910.7577
1.00001.00000.65570.93400.7431
>>a=[125;442]
a=
125
442
>>a(:
3)=[]
a=
12
44
实验四:
一.矩阵,向量的建立与修改
由文件生成和保存矩阵
?
myfile
A=
189568
15823628
7591583
21414152413
145896
587962
?
who
Yourvariablesare:
A
?
loadtxtfile.txt
?
who
Yourvariablesare:
Atxtfile
?
savematfile
?
clear
?
who
?
loadmatfile
?
who
Yourvariablesare:
Atxtfile
?
txtfile
txtfile=
189568
15823628
7591583
21414152413
145896
587962
由函数生成矩阵
?
eye(3)
ans=
100
010
001
?
eye(size(A))
?
?
?
Undefinedfunctionorvariable'A'.
?
ones(3)
ans=
111
111
111
?
zeros(3)
ans=
000
000
000
?
rand(4)
ans=
0.95010.89130.82140.9218
0.23110.76210.44470.7382
0.60680.45650.61540.1763
0.48600.01850.79190.4057
?
randn(5)
ans=
-0.43261.1909-0.18670.11390.2944
-1.66561.18920.72581.0668-1.3362
0.1253-0.0376-0.58830.05930.7143
0.28770.32732.1832-0.09561.6236
-1.14650.1746-0.1364-0.8323-0.6918
?
magic(3)
ans=
816
357
492
符号矩阵的创建
?
exam=sym('[1,x/a,sin(x);y/x,1+1/y,tan(x/y);1=0,3+3,4*r]')
exam=
[1,x/a,sin(x)]
[y/x,1+1/y,tan(x/y)]
[1=0,3+3,4*r]
矩阵的修改
?
A=rand(5)
A=
0.93550.35290.19870.74680.8462
0.91690.81320.60380.44510.5252
0.41030.00990.27220.93180.2026
0.89360.13890.19880.46600.6721
0.05790.20280.01530.41860.8381
?
A([13],:
)=[]
A=
0.91690.81320.60380.44510.5252
0.89360.13890.19880.46600.6721
0.05790.20280.01530.41860.8381
?
A(:
[24])=[]
A=
0.91690.60380.5252
0.89360.19880.6721
0.05790.01530.8381
?
A(2:
3,2:
3)=eye
(2)
A=
0.91690.60380.5252
0.89361.00000
0.057901.0000
二.矩阵向量的基本运算
矩阵的运算
?
myfile
A=
189568
15823628
7591583
21414152413
145896
587962
?
txtfile
txtfile=
189568
15823628
7591583
21414152413
145896
587962
?
A+txtfile
ans=
21618101216
30164612416
14101830166
42828304826
2810161812
10161418124
?
A-txtfile
ans=
000000
000000
000000
000000
000000
000000
?
A*txtfile
ans=
335225430383316216
464395676646500359
483257530516574372
583530828873900607
303181345350363225
379215462379384282
?
2*A+3*txtfile
ans=
54045253040
7540115301040
352545754015
10520707512065
52025404530
254035453010
?
A'
ans=
11572115
885448
92391457
56151589
6282496
8831362
?
txtfile/A
ans=
1.000000000
01.00000000
-0.00000.00001.0000-0.00000.0000-0.0000
0.0000-0.00000.00001.0000-0.0000-0.0000
-0.00000.0000-0.0000-0.00001.00000.0000
-0.00000.0000-0.0000-0.00000.00001.0000
?
det(A)
ans=
172040
?
inv(A)
ans=
0.3072-0.10530.19180.0939-0.5346-0.1013
0.2260-0.08230.03070.0287-0.30190.0988
-0.54920.2256-0.3248-0.11050.76710.1983
0.2514-0.09550.28640.0190-0.3329-0.1780
-0.53440.1472-0.3939-0.05340.73050.2948
0.7221-0.20910.42710.1121-0.8341-0.4190
?
rank(A)
ans=
6
三.解线性方程组
奇次线性方程组求解
?
A=[1-23-4;01-11;-10-12;1-34-5];
?
a=null(A)
a=
0.5890-0.5655
-0.01170.5772
0.56550.5890
0.57720.0117
?
a=null(A,'r')
a=
-12
1-1
10
01
四.矩阵特征值与特征向量
求矩阵特征值与特征向量
?
A
A=
1-23-4
01-11
-10-12
1-34-5
?
[v,d]=eig(A)
v=
0.58430.7746-0.24200.7674
-0.1711-0.25820.4132-0.5231
-0.24200.2582-0.5843-0.2789
0.75550.5164-0.65520.2443
d=
-4.8284000
0-0.000000
000.82840
0000.0000
?
a=eig(A)
a=
-4.8284
-0.0000
0.8284
0.0000
?
B=[1234;5243;4253;5142]
B=
1234
5243
4253
5142
?
[vl,dl]=eig(A,B)
vl=
0.15531.00000.06940.2301
-1.0000-0.57581.0000-0.6150
-0.2213-0.1515-0.2466-1.0000
0.70850.4242-0.3920-0.3850
dl=
-4.1242000
0-0.000000
004.62420
0000.0000
四、实验总结
在这次实习中,实习了MATLAB基本数学运算和线性代数实验,通过这次实习,掌握了MATLAB的一些基本数学运算,并且熟悉了矩阵的各种运算,线性方程组的求解及特征值特征向量的求解。
在这次实习中,在矩阵的建立与修改这块花了较多时间,希望通过课后的学习,熟练的掌握。