数值分析实习报告3_第1页
数值分析实习报告3_第2页
数值分析实习报告3_第3页
数值分析实习报告3_第4页
数值分析实习报告3_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值分析实习报告学院:数学与统计学院专业:数学类专业班姓名:杨圣学号:320210928991编写语言:matlab题目一:1.基于求积节点的逐次加倍,用复化梯形公式和复化Simpson公式计算:I=excosxrfx,Jo并比较其误差和误差递减因子。注:(1)精确值I=-12.0703463164:(2)求积节点至多为512;(3)将实验结果以表格形式输出。问题分析:L首先我们要编写目标函数,复化梯形公式的函数和复化Simpson公式的函数。2.编写相应的计算过程,根据累次计算的要求,循环个9次3.输入表格%定义函数fun=@(x)exp(x).*cos(x);%等距节点a=0;b=pi;n=2;l_trapezoidal_prev=0;l_simpson_prev=0;fori=1:9h=(b-a)/n;x=linspace(aJbJn+l);y=fun(x);%复合梯形公式I_trapezoidal=h/2*(y(l)+2*sum(y(2:end-l))+y(end));%复合Simpson公式I_simpson=h/3*(y(l)+4*sum(y(2:2:end-l))+2*sum(y(3:2:end-2))+y(end));%输出结果和误差(工Jzrapezoidal+12.0703463164)fprintf(Hn=%d:\n",n)fprintf("复合梯形公式:%.10f,误差:%.10f,误差递减因子:%.10f\n",I_trapezoidal?abs(I_trapezoidal+12.0703463164),abs((I_trapezoidal_prev+12.0703463164)/(I_trapezoidal+12.0703463164)))fprintf("复合Simpson公式:%.10f,误差:%.10f,误差递减因子:%.10f\rT,工_simpson,abs(I_simpson+12.0703463164)abs((1_simpson_prev+12.0703463164)/(I_simpson+12.0703463164)))fprintf(H\n")%更新变量n=n*2;I_trapezoidal_prev=I_trapezoidal;I_simpson_prev=I_simpson;endExcel截图的计算结果:用复化梯形公式计算nTnEnEn/E2n2-17.389259335.3189130144-13.336022851.2656765314.2024268328-12.382162430.3118161134.05904787116-12.14800410.0776577844.0152589932-12.089742120.0193958014.00384521664-12.07519410.0048477834.000963204128-12.071558190.0012118734.000240943256-12.070649280.0003029644.00006034512-12.070422067.57406E-054.000015471用复化Simpson公式计算nTnEnEn/E2n2-11.592839550.4775067634-11.984944020.0854022975.5912637248-12.064208960.00613735913.9151537416-12.069951320.00039499315.5378887132-12.070321462.48603E-0515.8884800764-12.070344761.5565E-0615.97227692128-12.070346229.73E-0815.99151315256-12.070346316.IE-0915.97275162512-12.070346324E-1015.60130891问题二:2.分别利用自适应梯形和自适应Simpson算法计算积分:r乃4I=\ J。1+x2使其精度达到10弋PPT给出的自适应复化梯形算法自适应复化梯形法的具体计算过程如下:h:=b-a,":=["(a)+/S)],n=l;[hnTOC\o"1-5"\h\z72〃=/+3£八74 /k=ln \卜T:=£/(Xa」),T2-=^+-T;k=l2 / /步3判断区-大<£?若是,则转步5;步4h:=h/2,(:=4,转步2;步5输出步骤1h:=b-步骤1h:=b-a,Si:=^[/(a)+4/(+〃切;步骤2步骤3判断|S2-Sil<£?若是,则转步骤5;步骤4h=A/2,Si=S2,转步骤2;步骤5输出S2.知乎@lGXzy7题目分析:基本是按照公式写代码,但是在实际写的过程中要做一些改变—自与R[2在极与中移楹 弦在明二2伽…昼f冷)中〕2&肾吓$。八|),|为〃彳.4(色”4左f«F)<2房正可切,Sc 才u", 目适依萋卜。八1,… ]f£&.4,4],[XX[,Xk甘]/九,一二' AF 京二牛£4¥+《内):中叫)]Szn:02匚枚)T4,1%4”706*)”(—:)叶虫,]二八一2宜[iff尸fp、吁*浦H5.在具体写的时候公式可以做一些必要的简化,使代码更加简洁。%复化自适应梯形算法计算积分function[工,n]=adaptive_trapezoidal(fa,b,tol)%f:被积函数%a,b:积分区间[a,b]%tol:允许的误差精度%初始化h=(b-a);%区间宽度n=15%区间数量x=linspace(a,b,2);I=h*(f(x(l))+f(x(2)))/2;%初始积分值I_prev=I;%迭代whiletrue%计算新的积分值x=linspace(a^b,2*n+l);I=I_prev/2+sum(f(x(2:2:end-l)))*h/2;%计算误差和误差限error=abs(I-I_prev);tolerance=tol*max(abs⑴,1);%如果误差小于误差限,则返回结果iferror<=tolerancebreak;end%更新区间宽度和数量h=h/2;n=n*2;%更新积分值I_prev=I;endend%复化自适应Simpson算法计算积分function[[,n]=adaptive_simpson(f,,a,b,tol)%f:被积函数%a,b:积分区间[a,b]%tol:允许的误差精度%初始化h=(b-a)/25%区间宽度n=15%区间数量x=linspace(aJb,2);I=h*(f(x(l))+4*f(x(2))+f(x(end)))/3;%初始积分值I_prev=I;%迭代whiletrue%计算新的积分值x=linspace(aJb,2*n+l);I=h*(f(x(l))+4*sum(f(x(2:2:end-l)))+2*sum(f(x(3:2:end-2)))+f(x(end)))/3;%计算误差和误差限error=abs(I-I_prev);tolerance=tol*max(abs(I)1);%如果误差小于误差限,则返回结果iferror<=tolerancebreak;end%更新区间宽度和数量h=h/2;n=n*2;%更新积分值I_prev=I;endend%被积函数f=@(x)4,/(l+x.A2);%积分区间[a,b]a=0;b=pi;%允许的误差精度tol=le-6;%自适应梯形算法计算积分[工_trapezoidal,n_trapezoidal]=adaptive_trapezoidal(fa,b,tol);%自适应Simpson算法计算积分[1_simpson,n_simpson]=adaptive_simpson(fa,b,tol);%输出结果fprintf「使用自适应梯形算法计算积分,得到的结果为:%.8f\rV,I_trapezoidal);fprintf('使用自适应Simpson算法计算积分,得到的结果为:%.8f\n',I_simpson);fprintf(,使用自适应梯形算法计算积分,用了%d个区间\n',n_trapezoidal);fprintf「使用自适应Simp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论