xiaoxin960904的个人博客分享 http://blog.sciencenet.cn/u/xiaoxin960904

博文

Matlab 数值积分与数值微分

已有 4140 次阅读 2018-10-19 17:59 |个人分类:Matlab学习笔记|系统分类:科研笔记| Matlab, 数值微分, 数值积分

 之前的得到一列离散数据的时候,求该离散数据每一点处的导数值,我是采用徐萃薇《计算方法引论(第四版)》Page 42中的三点公式求得每一点处的导数值,是利用过三个点做二次插值多项式求得。

% 此程序采用三点法来计算一维序列导数值

% 其中h为数据(等距)间隔,y为一维序列

function dy = Sandianfa(y,h)

dy = y;

for i = 1:length(y)-2

    dy(i) = (-3*y(i)+4*y(i+1)-y(i+2))/(2*h);

    dy(i+1) = (y(i+2)-y(i))/(2*h);

    dy(i+2) = (y(i)-4*y(i+1)+3*y(i+2))/(2*h);

end

end

数值积分可以采用Matlab中Cumtrapz函数,具体参见https://ww2.mathworks.cn/help/matlab/ref/cumtrapz.html



https://blog.sciencenet.cn/blog-3386114-1141762.html

上一篇:Matlab 设置两行坐标轴标签,坐标轴标签旋转等操作
下一篇:Matlab 设置ylabel距离坐标轴的位置
收藏 IP: 222.173.84.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 08:06

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部