三阶simpsonmatlab代码的简单介绍
admin 发布:2023-01-31 20:00 38
本篇文章给大家谈谈三阶simpsonmatlab代码,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
【matlab】达人请进
%simpson.m
function f=simpson(f_name,a,b,n)
h=(b-a)/n;
x=linspace(a,b,2*n+1);
y=feval(f_name,x);
f=h/6*(y(1)+y(2*n+1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n)));
%fun.m
function y=fun(x)
y=4./(1+x.^2);
command window中运行
simpson('fun',0,1,100) %这里用具体的fun代替f_name
ans=
f=3.1416
============================================
第二种方式:保留函数句柄
function f=simpson(a,b,n)
h=(b-a)/n;
x=linspace(a,b,2*n+1);
y=feval(@fun,x);
f=h/6*(y(1)+y(2*n+1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n)));
%fun.m
function y=fun(x)
y=4./(1+x.^2);
command window中运行
simpson(0,1,100) %需要被evaluated的fun已经在文件里指明了,这里就不需要重复了。
运行结果:
ans=
f=3.1416
两种方法一致。
加点分吧~~
simpson公式的matlab程序
function I=simpson(fun,a,b,k)
n=2.*k+1;
h=(b-a)/(n-1);
x=a:h:b;
f=feval(fun,x);
I=(h/3).*(f(1)+4.*sum(f(2:2:n-1))+2.*sum(f(3:2:n-2))+f(n));
辛普森 matlab
function [y e]= Simpson(f,a,b,M)
% f被积函数;a积分下限;b积分上限;M子区间个数(将x分为多少个区间)
h=(b-a)/(2*M);
s1=0;
s2=0;
for i=1:M
x=a+(2*i-1)*h;
s1=s1+feval(f,x);
end
for j=1:(M-1)
x=a+2*j*h;
s2=s2+feval(f,x);
end
y=h/3*(feval(f,a)+2*s2+4*s1+feval(f,b));
e=quad(f,0,1)-y;%误差(运行后不显示,把这行命令的分号去掉就运行可以显示误差)
我的结果是
Simpson(f,a,b,M)
e =
-4.4409e-016
ans =
2.2183
三阶simpsonmatlab代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、三阶simpsonmatlab代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 06-03常见刮刮乐代码含义(刮刮乐上的代码)
- 08-03派出所代码表(派出所代码表大全两位数)
- 07-05派出所的组织代码(派出所机构代码在哪查)
- 09-03网易云音乐代码(网易云音乐代码大全)
- 08-01源代码查看答案(源代码怎么看答案)
- 09-22查看手机屏幕代码(手机查询屏幕代码)
- 08-22qq强行聊天代码(强制聊天器在线使用)
- 04-19软件源代码使用许可协议(开源许可协议)[20240419更新]
- 07-28网页代码怎么呼出(怎么样调出网页代码)
- 09-13怎么查看app源代码(如何查看手机app源代码)
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接