找回密码
 注册
关于网站域名变更的通知
查看: 566|回复: 1
打印 上一主题 下一主题

MATLAB源程序代码分享:MATLAB梯形法求离散数据点的数值积分

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-17 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
MATLAB源程序代码分享:MATLAB梯形法求离散数据点的数值积分
+ n, W1 E: S, I8 y3 l9 }%% MATLAB trapz 函数, 使用梯形法, 求解离散数据点的数值积分8 y  Z/ ~, k6 [+ ]
clear;clc;close all2 \8 o& o8 o1 T( H  G* ^3 q$ r
x=[-3 -1 0.5 2 3 6 7.5];   % 离散数据点的横坐标 x: q! M2 p  G' ~' f8 G( ~- e
y=[1 2 5 5.5 1.5 3 1];     % 离散数据点的纵坐标 y
1 _; R. B/ F0 f% ?4 [Q=trapz(x,y)               % 计算积分结果:离散数据点所连成的折线与 x 轴所围面积
1 F8 h8 O* b- F$ y0 M! k2 i8 ^) Q. E$ G1 B6 r4 n
%% 动画演示, 梯形法求解数值积分的计算过程
7 f* _5 o) j1 K8 H* ?; Q7 Zplot(x,y,'*','MarkerSize',10,'Color',[0.2 0.7 0.2])  % 绘制离散的数据点( x0 t5 `* R& A8 C# i2 P% A5 L
axis([-4 8 0 6])
" _7 X8 J+ ?2 x9 u/ s8 u& xxlabel('横坐标 x')+ o/ h) I4 G$ _9 G% l: b, Y
ylabel('纵坐标 y'): I4 d* j& L5 h+ E4 L: M
title('梯形法求解数值积分的动画演示')
+ k/ d1 I+ J, u6 C" h: [hold on9 z& F1 r# V& ?+ t' f

/ ^& {. `% l, y/ pfor k=1:length(x)-1  ?/ T' Z1 j$ J$ C! k, v
    pause(1)
4 ^6 r2 l4 Z! f2 \$ l    plot(x(k:k+1),y(k:k+1),'--','LineWidth',2,'Color',[0.3 0.7 1])  % 将离散的数据点, 使用直线依次相连
) L* t8 x4 j2 Gend
" d8 X0 {( O& h! R% S( N
4 i4 q% e5 v9 u% @$ m5 Ffor k=1:length(x)
7 c! o, V' M  ~) _    pause(1)
0 `& M8 h, \9 N3 C4 b    plot([x(k) x(k)],[0 y(k)],'--','LineWidth',2,'Color',[0.5 0.2 0.6])  % 绘制各离散数据点与横轴的垂线, 得到各个小梯形! y) E# e2 q+ m! Z3 F
end
3 `1 ?1 y! h; }# h  D& b' D  m7 V2 s
for k=1:length(x)-1
1 Y  ?8 B, g, X    pause(1)
' D# D: K( G: r! C' m! ?    patch([x(k) x(k) x(k+1) x(k+1)],[0 y(k) y(k+1) 0],[1 0.8 0.1])  % 依次给每一个小梯形面积着色, 表示各个小梯形面积的求和过程/ b" @) ~0 n% A/ \! G
end) `, u- E' `2 p! k
' e- i, `; B; j. u/ D

该用户从未签到

2#
发表于 2020-3-17 17:43 | 只看该作者
MATLAB源程序代码分享:MATLAB梯形法求离散数据点的数值积分。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-1 14:02 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表