求复化梯形求积公式matlab程序

求复化梯形求积公式matlab程序,第1张

fun=@(x)3log(x);

a=1;

b=2;

epsilon=1e-5;

n=1;

h=(b-a)/2;

y0=h(feval(fun,a)+feval(fun,b));

yiter=y0;

while

1

f=sum(feval(fun,a+(1:2:2n-1)h));

y=y0/2+hf;

if

abs(y-y0)<3epsilon

break;

end

n=n+n;

h=h/2;

y0=y;

yiter=[yiter,y0];

end

y

%%与真值误差

double(int('3log(x)','x',1,2)-y)

y=dsolve('Dy=y/x-y^2/x','y(1)=05','x')

y =

1/(1/x + 1)

梯形公式

y(1)=05;x(1)=1;h=01;

for n=1:99

x(n+1)=x(n)+h;

y(n+1)=y(n)+h( y(n)/x(n)-y(n)^2/x(n));

y(n+1)=y(n)+h/2( y(n)/x(n)-y(n)^2/x(n) +y(n+1)/x(n+1)-y(n+1)^2/x(n+1) );

end

plot(x,y,'y')

mainm

g=@(t)exp(-t^2);

x=linspace(0,5,100);

y1=zeros(1,100);

y2=zeros(1,100);

for i = 1:100

  y1(i)=2/sqrt(pi)Simpson(g,0,x(i),1000);  %幸普森公式

  y2(i)=2/sqrt(pi)trapezoidal(g,0,x(i),1000); %复合梯形公式

end

plot(x,y1,'r-',x,y2,'b');

legend('辛普森公式','复合梯形公式');

Simpsonm

function y = Simpson(f,a,b,M)

  % f被积函数;a积分下限;b积分上限;M子区间个数(将x分为多少个区间)

  h=(b-a)/(2M);

  s1=0;

  s2=0;

  for i=1:M

      x=a+(2i-1)h;

      s1=s1+f(x);

  end

  for j=1:(M-1)

      x=a+2jh;

      s2=s2+f(x);

  end

  y=h/3(f(a)+2s2+4s1+f(b));  

end

trapezoidalm

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

  h=(b-a)/n;

  x=zeros(1,n+1);

  F=zeros(1,n+1);

  for k=0:n

      x(k+1)=a+kh;

      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)=hf(x(i));

  end

  T_2 = sum(F);

  y =T_1+T_2;

end

给你挑了半天,你的程序写的有问题, betae(i)=,C(i);

theta(i) beta(i);都是定值,不知道这些数你是从哪里的到这个方程解出来,但是我我要给你说:问题就出在这里,看看是不是数的单位有问题,还是这些数的求解有问题1

以上就是关于求复化梯形求积公式matlab程序全部的内容,包括:求复化梯形求积公式matlab程序、matlab梯形法解微分方程、求两个matlab的程序,分别利用复化梯形公式和辛普森公式求解误差函数erf(x)。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10144312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存