
2023年MATLAB数值运算实验报告.pdf
18页实验报上系(部):信息工程 班 级:姓 名: 学 号:课 程 : M A TLAB 实验名称:Matlab数值运要目录一 . 实验目的2 二 .实验内容 错误! 未定义书签三 .实验环节2 四 .实验具体过程及数据分析3 五 . 实验原始记录. . . . . . . . . . . . . . . . . . . . . . . . . . 9六 . 实验心得、体会及思考 1 1一 . 实验目的掌握M A T L A B 的数值运算及其运算中所用到的函数,掌握结构数组和细胞数组的操作二 . 实验内容1 . 多项式运算2 . 多项式插值和拟合3 . 数值微积分4 . 结构数组和细胞数组三 . 实验环节1 . 多项式运算⑴多项式表达在M A T L A B 中, 多项式表达成向量形式如:s* 4 + 3 s * s - 3 - 5 * s" 2 + 9» S = [ 1 3 - 5 0 9 ]( 2 ) 多项式的加减法相称于向量的加减法, 但须注意阶次要相同如不同, 低阶要补0如多项式 2 * s* 2 + 3 * s+ 9 与多项式 s " 4 + 3 * s* 3 - 5 * s" 2 + 4 s+ 7 相加。
3 ) 多项式的乘、除法分别用函数conv和 d e c on v 实现 4 ) 多项式求根用函数rot s( 5 )多项式求值用函数pol yva 1练习 1 :求( s1 2 + l ) ( s+ 3 ) ( s+ 1 ) / ( s- 3 + 2 * s+ l ) 的' ' 商”及 “ 余”多项式2 . 多项式插值和拟合有一组实验数据如表所示X1234567891 0Y1 632701 4 22 604 3 66 821 01 01 4 3 21 96 0请分别用拟合( 二阶至三阶) 和插值( 线性和三次样条) 的方法来估测X = 9 . 5时Y的值3 . 数值微积分( 1 ) 差分使用d i f f 函数的实现( 2 ) 可以用因变量和自变量差分的结果相除得到数值微分( 3 ) Cum sum函数求累计积分,tr a pz函数用梯形法求定积分, 即曲线的面积练习: 如图瑞士地图,为了算出其国土面积, 一方面对地图作如下测量: 以由西向东方向为X轴, 由南到北方为Y轴,选择方便的原点, 并将从最西边点到最东边界点在X轴的区间适当划分若干级,在每个分点的Y方向测出南边界点和北边界点的Y坐标Y 1 和 Y 2 , 这样就得到了下表, 根据地图比例知道1 8 mm相称于40 k m, 试有测量数据计算瑞士国土近似面积,与其精确值4 1 2 2 8 k nT 2 比较。
X710 .51317. 5344 0. 54 4. 5485 66168576. 580. 59 1Y 144 54 75 05 03 83 03 03 43 63 4 4 144456Y 24 45 97 07 29 3 1 0 1 1 0 1 1 0 1 1 0 111 11 1101 7 1 8681 8X961 0 1 1 0410 6.51 11.511 81 23 .51 36. 51 421 4 61 5 01 571 5 8Y 14 33 73 323 26 .5 5 . 55 45 25 0 6666688Y11 2 411 2 1 1 21 11 2 8 38 18 28 68 56822 1216214 . 结构数组与细胞数组( 1 ) 结构数组的创建(2 ) 结构数组的操作练习: 创建一结构数组s t u s o r ce, 其域为: No, Name, E ng li s h ,Mat h , C h i n es e, Tot a 「Aver ag e结构数组的大小为 2 *2 3 ) 细胞数组的创建( 4 ) 细胞数组的操作练习:创建一大小为2 * 2 细胞数组s tu c e l l , 其元素的类型分别为: 结构类型、字符串、矩阵和细胞类型。
四. 实验具体过程及数据分析1.>> S 1 =[ 2 4 2]S 1 =2 4 2>> r oots (SI)a n s =-1- 1>> S= El 3 - 5 0 9]S =13-50 9>> Sl=[2 3 11]S 1 =2 3 11» S 2 = E 1 3 -5 4 71S21 3 -5» S3=conv(SI, S2)S3 =2 9 10» S4=deconv(S3, SI)S4 =1 3 - 5>> S 1 =[2 4 2]S 1 =2 4 2>> polyval (SI,3)a ns =32>> x=l:10x =1 29 104 72 6 -29 6 54 73 4 56 7 8>> y=poly v a 1 ( S 1, x)y8 1 8 3 2 50 7 2 9 8 1 28 162 20 0 242练习1:>> c lear a 1 1» s 1 =[1 0 1 ]s 2=[1 3]s 3=[1 1]s4=co n v (si, s2)Y=c o nv (s4, s 3)X=[ 1 0 2 1][Q, R]=de c o nv(Y, X)si =1 0 1s2I3s3 =11s 413 13144 4 3X =10 2 1Q =1 4R0 02 - 5 -1>> poly2s y m(Q)a n s =x + 4>> po 1 y2 s ym(R)an s =2 * x "2 - 5 * x — 1» con v (Q,X) + R —Ya n s00 0 00» sl=[ 1 0 1]s2=[l 3]s3= [1 1]s4=con v (s 1 , s 2 )Y= c onv(s4, s 3 )X = [l 0 2 1][Q, R]=deconv(Y, X )si =011s231s 311s43131Y =14443X =0211Q14R =002 -5 —1p oly2 sym(Q)a ns =x + 4poly 2sym(R)ans =2*x~2 - 5*x - 1conv (Q, X) + R —Yans =0000 02.x= 1 :10y= [16 32 7 0 142 2 60 436 682 1 0 1 0 1 4 32 19 6 0]pl=p o 1 y f i t (x, y , 1)yl=p olyval (p l,9. 5)3 .x = 1 : 2 : 9diff (x )x = 1 i ns pace ( 0 , 2 * pi, 1 0 0) ;y= s in (x ) ;plot ( x , y )y l= d iff (y) . /d if f (x ) ;plot (x (1 : end—1 ) , yl)x = o nes (l, 1 0)cu ms u m(x )x = lin s p ace( 0 , p i , 1 00) ;y= s i n (x ) ;s = t r apz (x , y)练习2 :x = [7 1 0. 5 1 3 1 7 . 5 3 4 4 0. 5 4 4 . 5 4 8 5 6 6 1 6 8 . 5 7 6 . 5 8 0. 59 1 9 6 1 0 1 1 0 4 1 06 . 5 1 1 1 . 5 1 1 8 1 2 3 . 5 1 3 6 . 5 1 4 2 1 4 6 1 5 0 15 7 1 5 8 ];y l = [ 4 4 4 5 4 7 5 0 5 0 3 8 3 0 3 0 3 4 3 6 3 4 4 1 4 5 4 6 4 3 3 7 3 32 8 3 2 6 5 5 5 5 4 5 2 5 0 6 6 6 6 68] ;y 2 = [4 4 5 9 7 0 7 2 9 3 1 0 0 1 1 0 1 1 0 1 1 0 1 1 7 1 1 8 1 1 6 1 1 81 1 8 1 2 1 1 2 4 1 2 1 1 2 1 1 2 1 1 1 6 1 2 2 8 3 8 1 8 2 8 6 8 5 6 8 ];X= x . /1 8 * 4 0 ;Yl= y 1 . /1 8 *4 0 ;Y 2 = y 2 . / 1 8 * 4 0;t l= t r a p z (X, Y 1 ) , t 2 = t r apz (X, Y 2 ) , t = t 2 —t l4 .(1 ) > > s t u dent , n u m b e r= 7';> > s t u dent . name= 'jack';> > s t u d en t ( 2 ) . nu mber =' ' ;> > s t u d en t (2 ) . n a m e = ,1 u c y ';(2 )> > s t u dent (1 ) . s u b j ec t = [ ] > > s t u den t (1 ) . s o r ce=口 > > s t u de n t> > f i el d n a m e s ( stud ent )> > g et f i e 1 d ( s t u d ent , { 2 } , ' n ame,)> > s t u d e nt = r mf i e 1 d(s t u d ent , ' s u bjec t ')> > s t u d e nt = se t field(s t u dent , { 1 } , ' s o r c e' , 9 0) ; » s t u e nt ( 2 ) . s o r c e = 8 8 ;(3 )> > A= { ' H ow a r e you !", ones (3 ) ; 01 2 ; 3 4 ] , { 'cell, }) ;> > B ( 1 , 1 ) = {z H ello w or id') ;» B (2 , 1 ) = { [ 1 2 3 4 ] ) ;(4 )> > a n s 1 = A (1 , 1 )> > ans 2 = A{ 1 , 1 }> > w h os ans i ans 2> > celld i s p(A)> > al= A { 2 , 1 } (h 2 )» [ a 2 a3 ] = d ea 1 (A[1 : 2 })五. 实验原始记录, , ► D: ► Documents ► MATLABCurrent Folder® 豆 Editor - E :\softl\l.mNam e ▲ [ l.m X + |I T - sz=LT_3r3 - s 3 = [l 1]4 - s4=conv(sl, s2)5 - Y=conv(s4, s3)6 - X = [l 0 2 1]7 - [Q, R] =deconv(Y, X)8Details人Workspace ®alQR51- -..532XYValue(O.O.O.O.O][1,4][0,0,2,-5,-1][1.0,1][1,3][1.U[1.3,1,3][1,0,2,1][1,4,4.4,3]Command WindowNew to MATLAB? See resources for Getting Started,ans =x + 4poly2sy« (R)ans =2*x*2 - 5»x - 1conv(Q, X)+R-Yo0000M Editor - E:\softl\l.m0 * S3 为 ► E: ► softl ►G jrrent FolderName ▲® 我的文件,1 l.asv*1 l.ml.m89 -10 -« +1% KJ=^ecoriv(T7XTx = l:10y=[16 32 70 142 260 436 682 1010 1432 196(p l= p o ly fit (x,y, 1)y l= p o ly v a l (p l, 9. 5)DetailsWorkspaceCommand WindowNameValueNew to MATLAB? See resources for Getting Started.yy i[204.8000,-522.4000][1,2,3.4,5,6,7,8,9,10][16,32,70,142,260,4...1.4232e+0316327014204.8000 -622.4000yi1. 4232e+03A »I1ATLAB R2016I,Figure 1WorkspaceL_J 七 • 匕 Run SecBreakpovits Run Run and kA Advance▼ ▼ Advance -BREAXPGJNTSRUNEditor - E:\softl\l.ml.m _ X [军' [ __________- p o itlx u : eno-1;, y ux=ones(l, 10)cuasum(x)x= lin sp a ce (0 ,p i, 100):y = s in (x ):s=trapz(x, y)ns1asXyymng二immValue[1,2,3,4,5,6,7,8.9.10]1.99981x100 double1x100 double1x99 doubleTom m and WindowNew to MATLAB? See resources for Getting Started.x =ans =1 2 3 4 5 6 7s =1. 9998A »7 . MATLAB R2016bHOMEPLOTSAPPSEDTORPUBLISHVEWInsertiL - CompareNew Open Save ~▼ ▼ ▼ 自 Print ▼FILE以Go To ▼CommentH F i n d、NAVIGATE1nde m凰妈; 鼠EDITBreakpointsBREAKP^N T!RunRun andAdvancel> | Run Sec心AdvanaRUNGjrrent FolderName -* ■► D: ► Documents ► MATLABCommand WindowDetailsWorkspaceNamettlt2XxylYly2Y2Value4.2510e+043.3819e+047.6328e+041x27 double1x27 double1x27 double1x27 double1x27 double1x27 double» clear all» x=[7 10.5 13 17.5 34 40.5 44.5 48 56 61 68.5 76yl=[44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 3y2=[44 59 70 72 93 100 110 110 110 117 118 116 118X = x ./18*40;Yl=yl./18»40;Y 2=y2./18*40;t l=trapz (X, Y l), t2=trapz (X, Y2), t= t2 -t 1t l =3 .3819e+04t2 =7 .6328e+044 .2510e+04fii»六 . 实验心得、体会及思考通过本次实验, 我更纯熟的掌握了MATLAB的数值运算及其运算中所用到的函数, 更好的明白了一些MATLAB数值运算的基本操作。
做实验不仅仅要我们有清楚的思绪, 还要有一丝不苟的态度, 认真严谨的实验才干得出更准确的实验结果。
