求两个matlab的程序,分别利用复化梯形公式和辛普森公式求解误差函数erf(x)。

 我来答
jimtien
推荐于2017-12-16 · TA获得超过7654个赞
知道大有可为答主
回答量:2146
采纳率:88%
帮助的人:1122万
展开全部

main.m

    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('辛普森公式','复合梯形公式');

Simpson.m

    function y = 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+f(x);

        end

        for j=1:(M-1)

            x=a+2*j*h;

            s2=s2+f(x);

        end

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

    end


trapezoidal.m

    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+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);

        y =T_1+T_2;

    end


追问
多谢了
黄先生
2024-12-27 广告
矩阵切换器就是将一路或多路视音频信号分别传输给一个或者多个显示设备,如两台电脑主机要共用一个显示器,矩阵切换器可以将两台电脑主机上的内容renyi切换到同一个或多个显示器上;迈拓维矩矩阵切换器种类齐全,性价比高,支持多种控制方式,为工程商采... 点击进入详情页
本回答由黄先生提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式