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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
MATLAB源程序代码分享:MATLAB梯形法求离散数据点的数值积分
& @+ R( D; Y7 v2 }4 {. n! u1 P+ @' D%% MATLAB trapz 函数, 使用梯形法, 求解离散数据点的数值积分
5 O4 v0 d7 H7 k9 hclear;clc;close all
/ {2 i+ r' v# u6 L& W7 sx=[-3 -1 0.5 2 3 6 7.5];   % 离散数据点的横坐标 x
3 F6 [( F; F$ x! Q$ ^& P. Ry=[1 2 5 5.5 1.5 3 1];     % 离散数据点的纵坐标 y
! @% D! w  |! D+ TQ=trapz(x,y)               % 计算积分结果:离散数据点所连成的折线与 x 轴所围面积  T8 x8 F7 B! v

1 z0 y3 d- C) }* i: X%% 动画演示, 梯形法求解数值积分的计算过程/ Y, V: V! L, A; f( S* Z  J3 f
plot(x,y,'*','MarkerSize',10,'Color',[0.2 0.7 0.2])  % 绘制离散的数据点% O  g' k# D$ J# l' V6 K: J) J8 {, W
axis([-4 8 0 6])
  B; o: G5 A* @* ?! O& j4 Y" W9 sxlabel('横坐标 x')2 m; A" k9 Y0 C% {( c, {
ylabel('纵坐标 y')7 Q" z! ^$ e" o/ z
title('梯形法求解数值积分的动画演示')
, }6 j( [! Q2 j9 ^9 ], e  q) e& q- _hold on) S) R1 j) p) K! C) f# N. d4 L$ Z

! E0 I$ f3 R1 p7 v/ W) F9 Tfor k=1:length(x)-1- A2 X7 J5 o3 O
    pause(1)
7 V5 F/ b0 W& G  v) P    plot(x(k:k+1),y(k:k+1),'--','LineWidth',2,'Color',[0.3 0.7 1])  % 将离散的数据点, 使用直线依次相连
& Y, B/ P- z' j. _end3 j* M, C& h( q  ~* K' \

9 I+ v) N, G1 _" W: N) xfor k=1:length(x)3 X! p8 _3 f6 B
    pause(1). k2 A  F/ Y2 R. m. H) R) _* @
    plot([x(k) x(k)],[0 y(k)],'--','LineWidth',2,'Color',[0.5 0.2 0.6])  % 绘制各离散数据点与横轴的垂线, 得到各个小梯形
+ l1 H' G. H1 o. u2 {$ yend& R1 B5 r5 V$ o8 R; r6 b! ^
8 W% N" f" M4 t+ m1 R
for k=1:length(x)-1' T4 j  \" v" F" W* }6 n, N$ w8 e
    pause(1)
( ^) B' R$ d) f% g# g8 v& U    patch([x(k) x(k) x(k+1) x(k+1)],[0 y(k) y(k+1) 0],[1 0.8 0.1])  % 依次给每一个小梯形面积着色, 表示各个小梯形面积的求和过程
. Q- L3 o, ], e) W' R- Cend
# T% m; ~  {" N/ \& l9 u/ g) a3 I1 @4 ^) p% G1 d

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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