logo资料库

编程MATLAB程序实现复化梯形和辛普森数值积分.doc

第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
资料共4页,全文预览结束
实 验 目 的 实 验 内 容 与 步 骤 数值分析实验报告—— [1] 掌握复化梯形和辛普森数值积分法的基本原理和方法; [2] 编程 MATLAB 程序实现复化梯形和辛普森数值积分 1. 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x).*log(x); function T_n=F_H_T(a,b,n) h=(b-a)/n; for k=0:n x(k+1)=a+k*h; if x(k+1)==0 x(k+1)=10^(-10); end end T_1=h/2*(f(x(1))+f(x(n+1))); for i=2:n F(i)=h*f(x(i)); end T_2=sum(F); T_n=T_1+T_2;
运行结果: >> T_n=F_H_T(0,1,20) T_n = -0.4336 2.编程序实现复化辛普森数值积分求积公式 function y=f(x) y=sqrt(x).*log(x); 实 验 内 容 与 步 骤 function S_n=S_P_S(a,b,n) h=(b-a)/n; for k=0:n x(k+1)=a+k*h; x_k(k+1)=x(k+1)+1/2*h; if (x(k+1)==0)|(x_k(k+1)==0) x(k+1)=10^(-10); x_k(k+1)=10^(-10); end
S_1=h/6*(f(x(1))+f(x(n+1))); for i=2:n F_1(i)=h/3*f(x(i)); end for j=1:n F_2(j)=2*h/3*f(x_k(j)); end S_2=sum(F_1)+sum(F_2); S_n=S_1+S_2; 运行结果: >> S_n=S_P_S(0,1,20) S_n = -0.4423 实 验 心 得 通过此次实验的操作,我掌握了复合梯形公式和复合辛普 森公式,对编程又有了新的突破!
Terminate statement with semicolon to suppress output (in functions).(为了隐藏输出 用分号终 止 终止状态 隐藏输出 分号
分享到:
收藏