




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB-实习报告班级:*姓名:*学号:*指导老师:* 日期:2011/11/24目录MATLAB介 错误!未定义书签。上机实习题目 . 错误!未定义书签。1. 第 2章第1题. 错误!未定义书签。2. 第 3章第2题. 错误!未定义书签。3. 第 5章第2题. 错误!未定义书签。4. 第 4章第1题. 错误!未定义书签。题目实现过程 . 错误!未定义书签。1. 牛顿插值以及三次样条插值(第一个实验题) 错误 ! 未定义书签。a. 牛顿插值 错误!未定义书签。b. 三次样条插值 错误!未定义书签。c. 牛顿插值截图 错误!未定义书签。d. 三次样条插值截图 错误!未定义书签。2. 3次,
2、4次多项式的曲线拟合 错误!未定义书签。a. 先输入表格中对应的数据, 错误!未定义书签。次拟合 错误!未定义书签。c. 3 次拟合截图 错误!未定义书签。d. 4 次拟合 错误!未定义书签。e. 4 次拟合截图 错误!未定义书签。3. 高斯消去法解线性方程组 错误!未定义书签。a. 高斯消去法源代码 错误!未定义书签。b. 第一个小题 错误!未定义书签。c. 第二个小题 错误!未定义书签。4. 雅克比迭代法与 SOF方法 错误!未定义书签。a. 雅克比迭代法的计算公式 错误!未定义书签。b. 超松弛迭代法的计算公式 错误!未定义书签。c. 得到希尔矩阵 错误!未定义书签。d. 得到 b 矩阵
3、 错误 !未定义书签。e. 雅克比迭代法实现的函数 错误!未定义书签。迭代法实现的函数 错误!未定义书签。g. 对于雅克比迭代法,通过执行以下代码 错误!未定义书签。h. 对于SOR迭代法,执行相对应代码 错误!未定义书签。四 心得与感想 错误!未定义书签。MATLA简介MATLA是一个软件,用来进行科学计算。在实际生活或者在科学研究中, 大量的计算有时候是不可避免的, 在这个时候, 我们可以选择很多种方式来 解决我们的问题。但是选择一个好的软件对于我们来说有时候却是非常困难 的,尤其是现在各种软件层出不穷, 当然里面有好的, 可是有大多数的软件 却是鱼目混珠, 在里面滥竽充数。 如果我们不避
4、开这些, 那么我们可能面临 的是用很大的工作量来完成一个极其简单的问题, 或者说在付出了时间与精 力之后却完不成问题。 所以必须选择一个好的计算软件来解决问题。 MATLAB 就是这样一个软件, 在你能够熟悉并且流畅运用它之后, 那它将是一把能够 解决很多问题的钥匙。MATLAft Matrix Laboratory ,即矩阵实验室的缩写。它是一个有 Math Work公司(由Moler, Little , Bangert在1984年在加利福利亚成立)开发的 软件包。用来实现数值计算或者符号操作。另外MATLA还拥有M-file这一功能,在这里面你可以编写自己的程序(当然这个程序不是windo
5、ws程序),在这里你就可以实现很多计算,虽然说 MATLAB带的函数在大多数情况下已经够用,但是总会有某些时候你觉得自 己编写的程序运用起来更加灵活,而且在一些具体问题的时候,这个优势将 会是一大突破,可以让我们很轻松解决很多问题。 除了自己编写外,MATLAB 自带的很多优秀的程序,如plot (绘图)函数,cond (求矩阵条件数)函数, 关于矩阵的一些相关函数,都是相当经典的。总之,熟悉使用MATLA可以让我们的工作变得很简单,经过这次的学习, 我们以后的很多学习工作问题都可以很方便地解决了。上机实习题目1.第2章第1题已知函数在下列各点的值为Xif(Xi)试用4次牛顿插值多项式P 4(
6、x)及三次样条函数S (x)(自然边界条件)对数据进行插值。用图给出(Xi,yi),xi = 0.2+ 0.08i ,i = 0,1,11,10,P4(x)及S(x)2.第3章第2题由实验给出数据表xy试用3次,4次多项式的曲线拟合,再根据数据曲线形状,求另外一个函数的 拟合曲线,用图示数据曲线及相应的三种拟合曲线。3.第5章第2题用列主元高斯消去法解线性方程组Ax= b3.016.031.99x11(1) 1.274.16- 1.23 x2 = 1;0.987 - 4.819.34x13.006.031.99X111.274.16-1.23X2 =1.0.990-4.819.34X31分别输
7、出A,b, det (A),解向量x,(1)中A的条件数。分析比较(1),(2)4.第4章第1题给出线性方程组H nX = b,其中系数矩阵H n为希尔伯特矩阵:Hn = (hj ) nXn1R ,hij = -7 ,1 ,j = 1,2,n。假设x? = (1,1,-,1)T eRlXn,b= fx?。若取n = 6,8,10,分别用雅克比迭 代法及SO迭代法(s = 1,1.25,1.5)求解。比较计算结果。三.题目实现过程下面开始进行计算:1. 牛顿插值以及三次样条插值(第一个实验题)此题要求利用给定点,及给定点的函数值进行牛顿插值以及三次样条插值。a. 牛顿插值要实现牛顿插值,要用到以
8、下代码% 调用格式:yi=Lagran_(x,y,xi)% x,y数组形式的数据表function fi=Lagra n_(x,f,xi)fi=zeros(size(xi);n p1=le ngth(f);for i=1: np1z=on es(size(xi);for j=1: np1if i =j,z=z.*(xi-x(j)/(x(i)-x(j);e ndend fi=fi+z*f(i);endb. 三次样条插值要实现三次样条插值,要用到以下代码function S=csfit(X,Y,dx0,dxn)N=length(X)-1;H=diff(X);D=diff(Y)./H;A=H(2:N
9、-1);B=2*(H(1:N-1)+H(2:N);C=H(2:N);U=6*diff(D);B(1)=B(1)-H(1)/2;U(1)=U(1)-3*(D(1);B(N-1)=B(N-1)-H(N)/2;U(N-1)=U(N-1)-3*(-D(N);for k=2:N-1temp=A(k-1)/B(k-1);B(k)=B(k)-temp*C(k-1);U(k)=U(k)-temp*U(k-1);endM(N)=U(N-1)/B(N-1);for k=N-2:-1:1M(k+1)=(U(k)-C(k)*M(k+2)/B(k);endM(1)=3*(D(1)-dx0)/H(1)-M(2)/2;M(
10、N+1)=3*(dxn-D(N)/H(N)-M(N)/2;for k=0:N-1S(k+1,1)=(M(k+2)-M(k+1)/(6*H(k+1);S(k+1,2)=M(k+1)/2;S(k+1,3)=D(k+1)-H(k+1)*(2*M(k+1)+M(k+2)/6;S(k+1,4)=Y(k+1);endc. 牛顿插值截图在输入对应的两个数组后,首先进行4次牛顿插值,下面是运行截图* ir | ET Kr 5? d -l: VhMl讯TmEEbm-SuePtLh:ClunSIMM rdmha3JH 11 SB3EnvJUSdmbliicro*価141EFVIkLHU. tKTlitnInt曲d
11、ouhlrnqr-UL4dsubJ-i l町WUSdbl*4E1V!;id R-Hll i1竝l?4宦禅n”(1 - 1冲oirLr+卜Q冲跚然后根据结果绘图d. 三次样条插值截图* M 1K3 彳 y p1 飭HaTflaLn Mxtal3miE-3.TIErl mrCluir工mMHllUI I-1 l 九XYMI-f 1I|4dJ)14-i all * aLlx|l匚Oi nw a.sm L3po.?no科韓t-miQ仏丹ikfrwQiw. tI I.Ua L II -li-OJi.卜 Ki % r Hi&3l4T3e S3 = jelmlis lb iL?- ) liLi * :hib
12、dLHiK.I12H.冲 Fl *i)B. -cl- -II3b.: |Fl!Xt xx =0 yy = si = polyfit(x, y, 3); temp = 0:1; y_temp = zeros(size(temp); y_temp = polyval(s1, temp); hold on; plot(temp, y_temp) c. 3次拟合截图可以得到下面的截图,这是看到3次拟合后的多项式与原来的图形比较d. 4次拟合通过下面代码 x y s2 = polyfit(x, y, 4); y_temp = polyval(s2, temp); hold on; plot(temp,
13、y_temp, r) e. 4次拟合截图通过进行4次拟合,我们会感觉不同,从图像上可以看出(不同次数的拟合在图像上用不同的颜色标示出来以便观察, 其中3次拟合是蓝色,4次的是红色)以上都是用多项式进行拟合,下面代码用一个线性函数来进行拟合 xmea n = mea n( x); ymea n = mean( y); sumx2 = (x - xmea n) * (x - xmea n); sumxy = (y - ymea n) * (y - ymea n); A = sumxy / sumx2; B = ymea n - A * xmea n; temp = 0:1; y_temp = A
14、* temp + B; plot(temp, y_temp, green)的到下图其中绿色的线是这次拟合的结果,很明显,误差很大在进行解决这个题目时候用的拟合函数是MATLAB自带的拟合函数 polyfit(),这里是多项式拟合。polyfit()函数得到的是一个矩阵,然后运用另一个MATLAB!带的函数polyval()来进行计算给定点的函数值。到这里这一题完成。3. 高斯消去法解线性方程组对于这道题目,要求用高斯消去法解两个线性方程组,所以利用的M-file编写一个文件便可以解决两个小题。而高斯消去法的核心是逐渐利用消去法是原来的系数矩阵变成一个上角矩阵。然后一个迭代便可以解出方程的每一个
15、解。a. 高斯消去法源代码function X = p178_2_GAUSS(A, b)n, m = size(A);X = zeros(n, 1);temp = zeros(1, m);temp_b = 0;i = 1;for j = 1: (m - 1)if (A(i, j) = 0)for k = (i + 1):nif (A(k, j) = 0)temp= A(k, :)+ A(i, :) * (-A(k, j) / A(i,temp_b = b(k) + b(i) * (-A(k, j) / A(i, j);A(k, :) = temp;b(k) = temp_b;endendend
16、i = i + 1;end;MATLABj);Adisp(det(A) is .);x = det(A);disp(x);disp(cond(A) is .);x = cond(A);disp(x);X(n) = b(n) / A(n, n);for i = (n - 1):-1:1temp_b = 0;for j = (i + 1):ntemp_b = temp_b + A(i, j) * X(j);endX(i) = (b(i) - temp_b) / A(i, i);endend这个程序要求输入两个参数,一个是系数矩阵,另外一个是矩阵b。从程序中我们可以看出程序首先初始化一个解向量,全部
17、以0为元素。然后通过循环来进行系数矩阵的上三角化, 在这个过程中, 需要判断每一个系数矩 阵的行向量的第一元素是否为 0 ,若是0的话,则需要进行换行操作, 或者跳 过此次循环, 直接进入下一次循环 (因为有可能是这一行已经达到要求, 不 需要再进行操作。)b. 第一个小题通过以下过程: A = ; ; ; b = 1; 1; 1; p178_2_GAUSS(A, b)可以解出方程:A =00 0b =det(A) is .cond(A) is .+003ans =+003c. 第二个小题 通过以下过程: A = ; ; ; b = 1; 1; 1; p178_2_GAUSS(A, b) 可以
18、解出方程:0det(A) is .cond(A) is .ans =到这里这一大题已经完全解决,下面进入下一题。4. 雅克比迭代法与SO方法这一题考查的是迭代法的使用,雅克比迭代法与SO方法,在这道题中用。a. 雅克比迭代法的计算公式x(o)=(xio),x2o),xn)T,nx(k+1) = (bi -刀 aij x(k)?aii ,j =1j为 i = 1,2,n;k= 0,1,表示迭代次数b. 超松弛迭代法的计算公式x()=(xio),x2o),xn)T,x(k+1)(k)nx(k)i- 1x(k+1)Xj=Xj+ 3 (bi-2_j=iaijxi-2_j =iaijXj) ?au ,i
19、 = 1,2,n; k = 0,1,表示迭代次数3为松弛因子首先要通过程序获得希尔矩阵与b矩阵,然后才能进行下面的工作,而要实现这个功能需要以下的函数:c. 得到希尔矩阵function Hn = GET_Hn(n)Hn = zeros(n);for i = 1:nfor j = 1:nHn(i, j) = 1 / (i + j - 1);endendendd. 得到 b 矩阵function b = GET_b(n)Hn_temp = GET_Hn(n);b = zeros(n, 1);for i = 1:nfor j = 1:nb(i) = b(i) + Hn_temp(i, j);end
20、endende. 雅克比迭代法实现的函数 function X = p211_1_JJ(n) Hn = GET_Hn(n); b = GET_b(n);temp = 0;X0 = zeros(1, n);X_old = zeros(1, n);X_new = zeros(1, n); disp(Now Jacobi method!);disp(Start with the vector that (0, 0, 0, .FT); for i = 1:nfor k = 1:nX_old = X_new;temp = 0;for j = 1:nif(j = i) temp = temp + Hn(i
21、, j) * X_old(j);endendX_new(i) = (b(i) - temp) / Hn(i, i);endendX = X_new;endf. SOI迭代法实现的函数function X = p211_1_SOR(n, w) Hn = GET_Hn(n);b = GET_b(n);temp01 = 0;temp02 = 0;X0 = zeros(1, n);X_old = zeros(1, n);X_new = zeros(1, n);disp(Now Successive Over Relaxtion method!);disp(Start with the vector t
22、hat (0, 0, 0, .FT);for i = 1:nfor k = 1:nX_old = X_new;temp01 = 0;temp02 = 0;for j = 1:nif(j i)temp02 = temp02 + Hn(i, j) * X_old(j);endendendX_new(i) = w * (b(i)- temp01 - temp02) / Hn(i, i) + X_old(i);endX = X_new;Endg. 对于雅克比迭代法,通过执行以下代码 p211_1_JJ(6) p211_1_JJ(8) p211_1_JJ(10) 可以分别得到:Now Jacobi me
23、thod!Start with the vector that (0, 0, 0, .)ATans =Now Jacobi method!Start with the vector that (0, 0, 0, .)ATans =Now Jacobi method!Start with the vector that (0, 0, 0, .)ATans =Columns 1 through 9Column 10h.对于SO迭代法,执行相对应代码n=6, 3 =1,的时候 p211_1_SOR(6, 1)Start with the vector that (0, 0, 0, .)ATans =
24、 p211_1_SOR(6,Now Successive Over Relaxtion method!Start with the vector that (0, 0, 0, .)ATans = p211_1_SOR(6,Now Successive Over Relaxtion method!Start with the vector that (0, 0, 0, .)ATans =与n=8, 3 =1,的时候 p211_1_SOR(8, 1)Now Successive Over Relaxtion method!Start with the vector that (0, 0, 0, .)ATans = p211_1_SOR(8,Now Successive Over Relaxtion method!Start with the vector that (0, 0, 0, .)ATans = p211_1_SOR(8,Now Successive Over Relaxtion method!Start with the vector that (0, 0, 0, .)ATans =与n=10, 3 =1,的时候 p211_1_SOR(10, 1)Now Successive Over Relaxtion method!Star
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机电路基础(第三版)课件第10章
- 女性避孕药讲课件
- 计算机电路基础(第三版)课件第2章 -1
- DB43-T 2757-2023 调味面制品良好生产规范
- DB43-T 2819-2023 中华蜜蜂饲养技术规范
- DB43-T 2728-2023 烟草增香专用基肥通.用技术要求
- 美术风筝讲课件
- 挫折的主题班会课件
- 2024年中、高档黑白超声诊断仪资金筹措计划书代可行性研究报告
- 第四章 第1节 光的直线传播 教学设计-2024-2025学年人教版物理八年级上册
- 2022-2023学年吉林省重点中学小升初数学入学考试卷含答案
- 2023-2024学年江苏省张家港市小学语文五年级期末自测模拟考试题详细参考答案解析
- 2023名校人教版数学青岛市第三十九中学分班考试模拟试卷
- 中国糖尿病患者的白内障围手术期防治策略专家共识(2020年)
- 中考病句修改试题及答案(完整版)资料
- 下肢静脉曲张的规范治疗
- 计算机组成与设计知到章节答案智慧树2023年山东大学
- 安全施工作业票(样板)
- 2023-2024学年广东省云浮市小学数学一年级下册期末自测考试题
- 马原选择题题库及答案
- 《债法总论讲义大纲》课件
评论
0/150
提交评论