利用曲边梯形面积求和的方式对定积分的值进行估计matlab


利用曲边梯形面积求和的方式对定积分的值进行估计matlab


任务:
利用曲边梯形面积求和的方式对定积分的值进行估计,并与理论值进行比较。
要求:

  1. 完成基本任务;
  2. 对求解过程进行图形化展示;
  3. 分析所得结果与理论值的误差以及总结缩小误差的方法。

一、总体设计
1.程序的总体设计:用循环完成基本结构,并算出定积分的值
2. 数据结构:二维数组
3. 函数原型声明:function qujianmianji
二、功能实现

  1. 利用曲边梯形面积求和的方式对定积分的值进行估计

  2. 累加过程动态化
    三、测试及调试(测试方案、存在的问题及解决方法)

  3. 推导出曲边梯形面积求和公式并表达出来,建立定义域(-pi,pi),假设循环三次,函数图形在用矩形分开的份数(n)的基础上进行间隔时间0.001秒的动态化处理并画出,将图形和运行结果S(t)分别画在两张图中。由于每次运行都要消耗一定的时间所以运算次数不能过大,只能适当的减小循环次数,即份数(n)减小。

  4. 写出基本循环语句,并给出一个运算次数,多次运算后总结实验及结论,将运算值进行可视化处理并与理论值进行比较。

  5. 出现的问题:计算出来的S值把上一次计算的S值覆盖,并且每一个S值会计算t(运行次数)次 对问题的分析:计算S时的区间不一致 解决方法:给次数t建立一个循环

四、总结
包括但不限于以下内容:

  1. 涉及Matlab语言知识:循环,多点连线
  2. 对程序设计方法(自顶向下、结构化设计)的体会和掌握程度:对循环结构有了更好的掌握,可以进一步简化算法,掌握良好
  3. 分析问题和解决问题的能力,并举例说明:分析问题和解决问题的能力有待提高,本任务中对运算区间有一定的理解误区,查阅资料后进行对源码的改善来达到预期的效果。
function qujianmianji

x0=-pi;
xn=pi;
 
for n=100:1000:2100
    t=1:1:3;
    h=(xn-x0)/n;
 
    subplot(1,2,1)
    x = linspace(x0,xn,n);
    y=x.*cos(x.^2);
    S(t)=h.*(sum(y(2:n))+(y(1)+y(n))/2)
 
    plot(x,y,'r-')
    hold on
 
        for i = 1:length(x)-1
    
            if y(i)>0
                subplot(1,2,1)
                plot([x(i) x(i) x(i+1)],[0 y(i) y(i)],'b-')
            else
                subplot(1,2,1)
                plot([x(i) x(i) x(i+1)],[0 y(i) y(i)],'r-')
            end
        pause(0.001)
    
        hold on
        end
    subplot(1,2,2)    
    semilogx(n,S(t),'kv')
    hold on
end
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值