----------------------个人作业,如果有后辈的作业习题一致,可以参考学习,一起交流,请勿直接copy

··复合抛物线公式:

··龙贝格公式:

四、实验内容

------1

实验题目1中所用到的三种算法的matlab实现代码具体如下:

%复合梯形公式

function y=funct(f,n,a,b)

fi=f(a)+f(b);

h=(b-a)/n;

d=1;

for i=1:n-1

x=a+i*h;

fi=fi+2*f(x);

d=d+1;

end

f4=h/2*fi,d

%复合抛物线公式

function y=funcp(f,n,a,b)

h=(b-a)/n;

f1=0;

f2=0;

dd=1;

for i=1:n-1

dd=dd+1;

if  rem(i,2)~=0;

x1=a+i*h;

f1=f1+f(x1);

else

rem(i,2)==0;

x2=a+i*h;

f2=f2+f(x2)

end

end

f3=(h/3)*(f(a)+4*f1+2*f2+f(b)),dd

%龙贝格公式

function y=romberg(f,n,a,b)

z=zeros(n,n);

h=b-a;

z(1,1)=(h/2)*(f(a)+f(b));

f1=0;

for i=2:n

for  k=1:2^(i-2)

f1=f1+f(a+(k-0.5)*h);

end

z(i,1)=0.5*z(i-1,1)+0.5*h*f1;

h=h/2;

f1=0;

for  j=2:i

z(i,j)=z(i,j-1)+(z(i,j-1)-z(i-1,j-1))/(4^(j-1)-1);

end

end

z,n

------2

实验题目2中所用到的三种算法的matlab实现代码具体如下:

%采用三点公式法求函数func在x0处的二阶导数

function df= ThreePoint2(func,x0,type,h)

%函数名: func

%求导点: x0

%三点公式法的形式: type

%步长:h

%导数值: df

if nargin == 3

h = 0.1;

else if (nargin == 4 && h == 0.0)

disp(‘ h不能为0!‘);

return;

end

end

for i=1:5

y(i) = subs(sym(func), findsym(sym(func)), x0-2*h+i*h-h);

end

hd = 1/h/h;

switch type

case 1

df = (y(3) - 2*y(4) + y(5))*hd;      %用第1个公式求二阶导数

case 2

df = (y(2) - 2*y(3) + y(4))*hd;      %用第2个公式求二阶导数

case 3

df = (y(1) - 2*y(2) + y(3))*hd;      %用第3个公式求二阶导数

end

%采用四点公式法求函数func在x0处的二阶导数

function df= FourPoint2(func,x0,type,h)

%函数名: func

%求导点: x0

%四点公式法的形式: type

%步长:h

%导数值: df

if nargin == 3

h = 0.1;

else if (nargin == 4 && h == 0.0)

disp(‘ h不能为0!‘);

return;

end

end

for i=1:7

y(i) = subs(sym(func), findsym(sym(func)), x0-3*h+i*h-h);

end

hd = 1/6/h/h;

switch type

case 1

df = (12*y(4) - 30*y(5) + 24*y(6) - 6*y(7))*hd; %用第1个公式求二阶导数

case 2

df = (6*y(3) - 12*y(4) + 6*y(5))*hd; %用第2个公式求二阶导数

case 3

df = (12*y(4) - 30*y(3) + 24*y(2) - 6*y(1))*hd; %用第3个公式求二阶导数

end

%采用五点公式法求函数func在x0处的二阶导数

function df= FivePoint2(func,x0,type,h)

%函数名: func

%求导点: x0

%五点公式法的形式: type

%步长:h

%导数值: df

if nargin == 3

h = 0.1;

else if (nargin == 4 && h == 0.0)

disp(‘h不能为0!‘);

return;

end

end

for i=1:9

y(i) = subs(sym(func), findsym(sym(func)), x0-4*h+i*h-h);

end

hd = 1/12/h/h;

switch type

case 1

df = (35*y(5)-104* y(6)+114* y(7)-56* y(8)+11* y(9))*hd; %用第1个公式求二阶导数

case 2

df = (11*y(4)-20* y(5)+6* y(6)+4* y(7)- y(8))*hd; %用第1个公式求二阶导数

case 3

df = (-y(3)+16* y(4)-30* y(5)+16* y(6)- y(7))*hd; %用第1个公式求二阶导数

case 4

df = (-y(2)+4*y(3)-6*y(4)+20*y(5)+11*y(6))*hd; %用第1个公式求二阶导数

case 5

df = (35*y(5)-104* y(4)+114* y(3)-56* y(2)+11* y(1))*hd; %用第1个公式求二阶导数

end

------3

%采用五点公式法求函数func在x0处的二阶导数

function df= FivePoint2(func,x0,type,h)

%函数名: func

%求导点: x0

%五点公式法的形式: type

%步长:h

%导数值: df

if nargin == 3

h = 0.1;

else if (nargin == 4 && h == 0.0)

disp(‘h不能为0!‘);

return;

end

end

for i=1:9

y(i) = subs(sym(func), findsym(sym(func)), x0-4*h+i*h-h);

end

hd = 1/12/h/h;

switch type

case 1

df = (35*y(5)-104* y(6)+114* y(7)-56* y(8)+11* y(9))*hd; %用第1个公式求二阶导数

case 2

df = (11*y(4)-20* y(5)+6* y(6)+4* y(7)- y(8))*hd; %用第1个公式求二阶导数

case 3

df = (-y(3)+16* y(4)-30* y(5)+16* y(6)- y(7))*hd; %用第1个公式求二阶导数

case 4

df = (-y(2)+4*y(3)-6*y(4)+20*y(5)+11*y(6))*hd; %用第1个公式求二阶导数

case 5

df = (35*y(5)-104* y(4)+114* y(3)-56* y(2)+11* y(1))*hd; %用第1个公式求二阶导数

end

六、实验结果分析

在题目一中分别使用了复合梯形公式、复合抛物线公式、以及龙贝格公式对两个题目的积分进行了求解。就结果而言,通过实验结果中的各项数据对比可以明显看出:准确度为 ----龙贝格公式>复合抛物线公式>复合梯形公式;其中龙贝格公式近乎接近正确值,精度达到了极高的标准,相比较之下,复合梯度公式的精度就比较低了。故而,在不考虑计算的时间和空间效率时,使用龙贝格公式的精度最高,效果最好;如果加上时间空间来考虑,可以采用复合抛物线公式来求解。

2.

在题目二中分别使用了三点公式、四点公式、以及五点公式对两个题目的函数进行了求导,在题目三种采用了五点公式,在不同的步长设定下进行了求导。就结果而言,通过实验结果中的各项数据对比的表格可以明显看出: ·在相同的步长下,求解精度:五点公式>四点公式>三点公式;  ·在同一公式下,步长越长,求解的精度会越高;  ·在步长较低(h=0.1)时,三点公式所求得的导数值摆动较大,几乎无法使用; ·在取步长较高(h=0.001)时,采用五点公式,精度极高,几乎可以替代精确值使用。

---------------------------------------------------

排版依旧很别扭,截图更方便阅读,怎么说呢、、、、、凑合还能看吧

原文:http://www.cnblogs.com/nanashi/p/6690337.html

抛物线求积公式求积分算法matlab,数值计算实验报告---复合求积公式(梯形、抛物线、龙贝格)、导数求值(三点、四点、五点公式)...相关推荐

  1. 抛物线求积公式求积分算法matlab,基于Matlab的数值积分公式问题.doc

    基于Matlab的数值积分公式问题 数值分析 学 号: 学 生 姓 名 :教 师 : 教师 2数值积分算法介绍............................................. ...

  2. 数值计算笔记之数值积分(二)龙贝格算法

    龙贝格求积公式也称为逐次分半加速法.它是在梯形公式.辛普森公式和柯特斯公式之间的关系的基础上,构造出一种加速计算积分的方法. 作为一种外推算法,它在不增加计算量的前提下提高了误差的精度. 在等距基点的 ...

  3. 辛普森复合求积公式matlab,MATLAB数值分析实验二(复合梯形、辛普森和龙贝格求积,以及二重积分计算等).doc...

    [摘要]佛山科学技术学院 实 验 报 告 课程名称 数值分析 实验项目 数值积分 专业班级 机械工程 姓 名 余红杰 学 号 2111505010 指导教师 陈剑 成 绩 日 期 月 日 一.实验目的 ...

  4. 【数值分析实验MATLAB】数值积分:梯形公式、辛普森公式、复化梯形公式、复化辛普森公式、龙贝格算法、自适应求积方法

    (1)Matlab代码: f1: if x==0y=1; else%y=exp(-x^2);y=(sin(x))/x; end 梯形公式: a=0; b=1; tx=(b-a)/2*(f1(a)+f1 ...

  5. 数值分析复化求积matlab,MATLAB数值分析实验二(复合梯形、辛普森和龙贝格求积,以及二重积分计算等)...

    1.理解如何在计算机上使用数值方法计算定积近似值; 2.学会复合梯形.复合Simpson和龙贝格求积分公式的编程与应用. 3.探索二重积分在矩形区域的数值积分方法. 佛山科学技术学院 实 验 报 告 ...

  6. 龙贝格求积分算法例题_数值分析实习作业之龙贝格求积

    北京化工大学数值分析,龙贝尔求积, 实习题五:用龙贝格求积公式法计算习题五第一题积分,是结果尽可能准确(eps = 0.000001) 主程序: %习题五:用龙贝格求积公式计算下列积分 clear c ...

  7. 数值计算大作业:数值积分(梯形、辛普森与龙贝格方法在Matlab实现)

    作为研究生的入门课,数值计算的大作业算是所有研究生开学的重要编程作业. 针对数值积分的编程,我把梯形.辛普森与龙贝格方法在MATLAB中编写的程序放在文章最后了,需要的同学自取. PS:附录中的程序并 ...

  8. matlab 把区间等分分,MATLAB数学实验报告 定积分的近似计算

    MATLAB数学实验报告 实验日期:2015年11月20日 实验名称定积分的近似计算 姓名:学号:班级: 问题背景描述: 利用牛顿-莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函 ...

  9. 数值积分公式及龙贝格(Romberg)算法实现matlab

    一.数值积分方法得基本思想 二.复化求积公式 三.基于复化梯形求积公式的高精度求积算法--Richardson外推法和Romberg算法 四.Romberg算法的matlab程序: function ...

最新文章

  1. SSRS配置2:加密管理
  2. Spring——AOP
  3. [react-native]-ReactNative为iOS打包ipa文件
  4. java spring省略jsp,Java +Tomcat + SpringMVC实现页面访问示例解析
  5. python第一周:python初识、流程控制
  6. 在Entity Framework 4.0中使用 Repository 和 Unit of Work 模式
  7. python神经网络作用_Python · 神经网络(三*)· 网络
  8. fdisk 分区_【linux】循序渐进学运维-基础篇-分区命令fdisk
  9. 黑客魔术!如何黑掉一台根本不联网的电脑
  10. Android学习系列(41)--Android Studio简单使用
  11. HTML5 canvas中使用路径
  12. VS2008下用MFC 的MSComm控件编写串口程序
  13. Ecology 建模表单 数据库字段与页面字段对应关系显示
  14. iOS AVPlayer 使用总结
  15. 手机图形计算器matlab,Mathlab图形计算器下载
  16. QTableView实现excel冻结窗口功能
  17. 计算机实验室安全知识心得体会,计算机实验室安全自查报告(共5篇) .docx
  18. chrome js 读取文件夹_javascript – 如何从chrome扩展程序读取文件?
  19. 红帽考试资料_冰山一角
  20. 神经元模型 Izhikevich Model

热门文章

  1. Visio哪个版本好用?有哪些版本
  2. Opencv 摄像头二次开发,横竖屏切换,前后摄像头切换,铺满全屏问题,一次解决(附源码)
  3. 自动控制原理学习笔记---自动控制系统校正与综合
  4. 纯HTML和JS实现拖动滑块验证效果
  5. 使用docker安装nginx
  6. matlab/simulink 风电调频,模糊控制,下垂控制,三机九节点系统。自适应控制。
  7. 2D平面上的变换和3D空间中的变换以及求无穷远点
  8. HBASE数据库无法启动的一个原因
  9. IP数据报重组与分片 与多道程序设计的优点
  10. 【ROM定制】Android 12 制作『MIUI官改』那点事④修改