MATLAB数值运算实验报告材料.docx
《MATLAB数值运算实验报告材料.docx》由会员分享,可在线阅读,更多相关《MATLAB数值运算实验报告材料.docx(13页珍藏版)》请在冰豆网上搜索。
MATLAB数值运算实验报告材料
实验报告
系(部):
班
级:
姓
名:
学号:
课
程:
MATLAB实验名称:
Matlab数值运
算
1.实验目的2.
2.实验内容2.
3.实验步骤2.
4.实验具体过程及数据分析4
5.实验原始记录1.2
6.实验心得、体会及思考1.4
1.实验目的
掌握MATLAB的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作。
2.实验内容
1.多项式运算。
2.多项式插值和拟合。
3.数值微积分。
4.结构数组和细胞数组。
3.实验步骤
1.多项式运算
(1)多项式表示。
在MATLAB中,多项式表示成向量形式。
如:
sA4+3s*sA3-5*sA2+9
>>S=[13-509]
(2)多项式的加减法相当于向量的加减法,但须注意阶次要相同。
如不同,低阶要补0。
如多项式2*sA2+3*s+9与多项式sA4+3*sA3-5*sA2+4s+7相加。
(3)多项式的乘、除法分别用函数conv和deconv实现。
(4)多项式求根用函数roots
(5)多项式求值用函数polyval
练习1:
求(sA2+1)(s+3)(s+1)/(sA3+2*s+1)的“商”及“余”多项式
2•多项式插值和拟合
有一组实验数据如表所示
X
1
2
3
4
5
6
7
8
9
10
Y
16
32
70
142
260
436
682
1010
1432
1960
请分别用拟合(二阶至三阶)和插值(线性和三次样条)的方法来估测X=9.5时Y的值。
3.数值微积分
(1)差分使用diff函数的实现
(2)可以用因变量和自变量差分的结果相除得到数值微分
(3)Cumsum函数求累计积分,trapz函数用梯形法求定积分,即曲线的面积
练习:
如图瑞士地图,为了算出其国土面积,首先对地图作如下测量:
以由西向东方向为X轴,由南到北方为丫轴,选择方便的原点,并将从最西边点到最东边界点在X轴的区间适当划分若干级,在每个分点的丫方向测出南边界点和北边界点的丫坐标Y1和丫2,这样就得到了下表,根据地图比例知道18mm相当于40km,试有测量数据计算瑞士国土近似面积,与其精确值41228kmT
比较。
X
7
10.
13
17.
34
40.
44.
48
56
61
68.
76.
80.
91
5
5
5
5
5
5
5
Y1
44
45
47
50
50
38
30
30
34
36
34
41
45
46
Y2
44
59
70
72
93
10
11
11
11
11
11
11
11
11
0
0
0
0
7
8
6
8
8
X
96
10
10
10
11
11
12
13
14
14
15
15
15
1
4
6.5
1.5
8
3.5
6.5
2
6
0
7
8
Y1
43
37
33
28
32
65
55
54
52
50
66
66
68
Y2
12
12
12
12
12
11
12
83
81
82
86
85
68
1
4
1
1
1
6
2
4.结构数组与细胞数组
(1)结构数组的创建
(2)结构数组的操作
练习:
创建一结构数组stusorce,其域为:
No,Name,English,Math,
Chinese,Total,Average。
结构数组的大小为2*2。
(3)细胞数组的创建
(4)细胞数组的操作
练习:
创建一大小为2*2细胞数组stucell,其元素的类型分别为:
结构类
型、字符串、矩阵和细胞类型。
四•实验具体过程及数据分析
1.
>>S1=[242]
S1=
>>roots(S1)ans=
-1
-1>>S=[13-509]
S=
13-509
>>S1=[2311]
S1=
2311
>>S2=[13-547]
S2=
13-547
>>S3=conv(S1,S2)
S3=
>>S4=deconv(S3,S1)
S4=
13-547
>>S1=[242]
S1=
>>polyval(S1,3)ans=
32
>>x=1:
10
x=
123
4
5
6
7
8
9
10
>>y=polyval(S1,x)
y=
81832
50
72
98
128
162
200
242
练习1:
>>clearall
>>s1=[101]s2=[13]s3=[11]s4=conv(s1,s2)Y=conv(s4,s3)X=[1021][Q,R]=deconv(Y,X)
s1=s2=
13s3=
11s4=
1313
Y=
14443
X=
1021
Q=
14
R=
002-5-1>>poly2sym(Q)ans=
x+4>>poly2sym(R)
ans=
2*xA2-5*x-1
>>conv(Q,X)+R-Y
ans=
>>s1=[101]
s2=[13]
s3=[11]
s4=conv(s1,s2)
Y=conv(s4,s3)
X=[1021]
[Q,R]=deconv(Y,X)
s1=
101
s2=
13
s3=
11
s4=
1313
Y=
14443
X=
1021
Q=
14
R=
002-5-1
poly2sym(Q)
ans=
x+4
poly2sym(R)
ans=
2*xA2-5*x-1
conv(Q,X)+R-Y
ans=
00000
2.
x=1:
10
y=[163270142260436682101014321960]p1=polyfit(x,y,1)
y1=polyval(p1,9.5)
3.
x=1:
2:
9
diff(x)x=linspace(0,2*pi,100);
y=sin(x);
plot(x,y)
y1=diff(y)./diff(x);
plot(x(1:
end-1),y1)
x=ones(1,10)
cumsum(x)
x=linspace(0,pi,100);
y=sin(x);
s=trapz(x,y)
练习2:
x=[710.51317.53440.544.548566168.576.580.59196101104
106.5111.5118123.5136.5142146150157158];
y1=[444547505038303034363441454643373328326555545250666668];
y2=[4459707293100110110110117118116118118121124121
121121116122838182868568];
X=x./18*40;
Y1=y1./18*40;
Y2=y2./18*40;
t1=trapz(X,Y1),t2=trapz(X,Y2),t=t2-t1
4.
(1)>>student.number='20050731001';
>>student.name='jack';
>>student
(2).number='20050731002';
>>student
(2).name='lucy';
(2)
>>student
(1).subject=[]>>student
(1).sorce=[]>>student
>>fieldnames(student)
>>getfield(student,{2},'name')
>>student=rmfield(student,'subject')
>>student=setfield(student,{1},'sorce',90);>>stuent
(2).sorce=88;
(3)
>>A={'Howareyou!
',ones(3);[12;34],{'cell'}};
>>B(1,1)={'Helloworld'};
>>B(2,1)={[1234]};
(4)
>>ans1=A(1,1)
>>ans2=A{1,1}
>>whosans1ans2
>>celldisp(A)
>>a1=A{2,1}(1,2)
>>[a2a3]=deal(A{1:
2})
五.实验原始记录
*KUI^ABR201tob|
HOMEPUDT£APP£
EHITOH
VE1U
H■4IFin*中
LILCiiiLdiff■L/JgTci■Sawr
宁—mnt■泳fma■
rwr.
SrTHkzc4nc»
-ILE
lnriBn£
l-J幻注
EDIT
RkinRunland
■*■Advwce
*£迥►Dt*Documents卜MATLAB
显tdii'-r-t:
t
1一丁+
*-玉m-j
3-s3=|lL]
■4-34-CDtrrff(sJP-3Z)
弓—¥=ccjtwsli,si)
&-T=[j02j]
4—[3?
E.J-CH匚Dmr・yi
ni吋MWindow
IN#*FoMA,TLAEl?
£2fee£宇"「吕,
Qoaaoii
[l.<]IDQ254JZU
nil
11.1]HR
110.2,11
p&ly2i;yrai,Rij
5*s:
-]
roT^^ry+w
E£llT£lR
二a
L'rf&Tt■
CdHTIhIK
CrieMrOpen
Ind-ent
CurrentF口[c—r
HOME
iMATLAE!
R^ci
、、Ffld'
HAdSA~£
A腔・
EOTER£Ak=v1KT5
VEA:
:
L,|^|RunSeE
5
&-?
akpc^nn
Run
ftunimd
A^v-jncc
鬲Editor
-Et\£o«Ftl=m
Jjn
d*
i—
1MZKJ-decflinjFlBT.孟
B
KA
9_
10-
r^U63-27d11_LfiO-Jz6821(11.L1J1:
"El
】].-
pl=Jt!
ljfzTF」珀L]
13-
yl二卩口Zjpa1pJj9-5
J3
Comrr申ndV^indw
Vaw
丄P1
[2W.0000.-522.4000:
二5f
[1.23A5ATA^1JCI
=py
:
163270442260,4-
二yl
1.4232^+-D3
陷utPf:
HU
JillW
:
O^SWO-U22-L20:
L<232i+«3
■
~!
p
1,
1
PUBLISH
vtw
rL.n5ffc
:
ilr£i<妙旷豪In^-rrTerHQlIt饰妙闭6«曾iJrh&
■JJdJjIkl\\-aDB
戸恥□ka
A,egg
*
Run
Ntinsic.f_AEditor•E^soltl11Lni
Fr-nrr5nnWndow
MT
fm
0)
iILlSLp:
i^-':
』£,x>LCO>.戸列nx)
s=ixa|Lz>4y1
blame-
Vakte
.arts
[123.4.5.67.S.S.10]
二s
1.&998
lx;tv曲九必b
二yi
F苗如M?
Wtirk^pjce
N?
-j«Fc?
F/A-TIjIB?
S■产产Fesesurres咕itfje-ingSfjr^d,
ana■
*R201tib]
HCMEftJOTSAPP£
toinrcH
PLsQUSM
VE1M
F«Flip?
-7苗3hl■l』GoT(,・
rw.
-iia
€lN►Dt*C^cumerits卜MATLAH
CurrentF□,=严「
|i
A曲
直
Conmem
lndbn£.
TiffzrrO
Command^*Vind
対亠d
UJ凶虽
孔mnn-d
A3V311C.C
31)1cleata.11
»j-[710,513L7-53140.5H.5435iGi58.570y]萱【4J栖4;盹冈38JD30别383441454S433jr2=[44M7fl72R31001L0110110L17118LL0llfiI=K,/lS*40
Y]J.
T2>y2,/[>*«!
;
t]■■*JI^YI^tXripi算贮,t-t2T]
7.622fe^34』JrZ?
豆比Mltr27tfiJiriMff
/jt>V鬲凶併
X*77g尿
1x^7
:
5LO^*04
实验心得、
体会及思考
通过本次实验,我更熟练的掌握了MATLAB的数值运算及其运算中所用到的函数,更好的明白了一些MATLAB数值运算的基本操作。
做实验不仅仅要我们有清晰的思路,还要有一丝不苟的态度,认真严谨的实验才能得出更准确的实验结果。