![]() |
[求助]实验数据的积分处理
求助@讨论:一般而言,实验中测得的图形或曲线在后处理时都是以数据的形式进行,能否利用Matlab对这种曲线(数据)进行积分或微分,即求实验曲线的积分或微分?
请赐教!!! |
回复: 实验数据的积分处理
trapz(x,y) %x,y为 n个横坐标,n个列坐标
|
回复: 实验数据的积分处理
[QUOTE=fanxing39;14715]trapz(x,y) %x,y为 n个横坐标,n个列坐标[/QUOTE]
非常感谢您的答案! 据我所知trapz函数是采用复化梯形公式来求积分,其结果是一个面积的表示,能否求出实验曲线的积分曲线?(我的意思是:将实验中测得的曲线1,以数据的基础,在matlab中绘制出曲线2,如果曲线1和2误差不是很大的话,求曲线2的积分曲线),不知道是否可在matlab中实现,请求支援!!! |
回复: 实验数据的积分处理
可以参考如下代码:
给出三种方法,前两种计算的是积分结果; 第三种 cumtrapz 计算积分累积分布。 也可以这样考虑:用trapz或者 quad quadl quad8逐点计算出积分结果,然后把结果画出来。 clear; x=linspace(0,3,30); y=x; inter1=trapz(x,y); inter2=quadl(@integrand,0,3); inter3=cumtrapz(x,y); plot(x,inter3); hold on; plot(x,y); function y=integrand(x) y=x; |
回复: 实验数据的积分处理
[QUOTE=xmuhjh;14774]可以参考如下代码:
给出三种方法,前两种计算的是积分结果; 第三种 cumtrapz 计算积分累积分布。 也可以这样考虑:用trapz或者 quad quadl quad8逐点计算出积分结果,然后把结果画出来。 clear; x=linspace(0,3,30); y=x; i...[/QUOTE] 非常感谢! 我用cumtrapz命令进行了一定量的试验,效果不错,但是对较复杂图形而言,误差可能会比较大,我现在有一个想法:能否利用曲线拟合的方法求出拟合方程,再通过simulink进行积分/或直接运用matlab中的命令程序进行较精确的求解,请问这种方法可行否,仿真误差如何? |
回复: 实验数据的积分处理
可以改进。可能你的数据本身采样的间隔比较大,这样可以增大采样频率,也就是本身的数据间隔小点,当然计算结果更精确了。cumtrapz的原理就是梯形法求积分,相对比较粗糙,如果数据频率比较低,先对数据进行插值拟合的话应该会取得更好的结果。
|
所有时间均为北京时间。现在的时间是 11:29。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.