首页 热点资讯 义务教育 高等教育 出国留学 考研考公

matlab如何画数值积分运算中的小方格,并且线不同颜色,如图。如何用matlab编如图二所示的辛普森方程

发布网友 发布时间:2022-04-23 10:49

我来回答

1个回答

热心网友 时间:2023-10-11 18:35

ff=input('function:','s');%注意乘与点乘,要用点乘,如exp(-x/4).*cos(x)
fun=eval(['@(x)',ff]);

x0=input('x0:');
x1=input('x1:');
n=input('n:');%偶数

h=(x1-x0)/n;
x=x0:h:x1;x=x(:)';
y=fun(x);
f=[2*ones(1,n/2+1);4*ones(1,n/2+1)];f=f(:)';f(1)=1;f(end)=[];f(end)=1;
%数值积分
Int=h/3*sum(f.*y);

xx=repmat(x(:)',2,1);xx=xx(2:end);xx=xx(:);
yy=repmat(y(:)',2,1);yy=yy(1:end-1);yy=yy(:);
plot(x,y,'k')
hold on
plot(xx,yy,'r');
plot(repmat(x(1:2:end),2,1),[zeros(size(x(1:2:end)));y(1:2:end)],'b')
plot(repmat(x(2:2:end),2,1),[zeros(size(x(2:2:end)));y(2:2:end)],'g')
plot([x0,x1],[0,0],'k');
xlabel('X')
ylabel('Y')
title(['Numeric integration of ',ff,' with ',num2str(n),' slices'])

vpa(Int,10)%数值解

%%下面是符号解
vpa(int(sym(strrep(strrep(ff,'.*','*'),'./','/')),x0,x1),10)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com