作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
介绍
假设我有 N
积分x(1:N)
我有函数值 f(1:N)
, 例如:
x = [ 0.0795, 0.1327, 0.1395, 0.5133, 0.6470, 0.7358, 0.7640 ];
f = [ 0.0388, 0.4774, 0.4547, 0.0784, 0.3241, 0.2818, 0.9667 ];
f
的累积积分关于
x
使用这些数据。
cumtrapz()
轻松完成此操作:
>> result = cumtrapz( x, f )
result =
0 0.0137 0.0169 0.1165 0.1434 0.1703 0.1879
cumtrapz()
使用梯形方法进行数值积分,这不足以满足我的目的。
最佳答案
我不知道另一种方法,但是您可以使用带有 pchip
的插值, spline
,或其他一些提高分辨率的方法。然后使用 cumtrapz
以获得更接近数值积分的近似值。
由您决定哪种方法适用于您的功能。
使用正弦函数和样条的示例
>> x = linspace(0,pi,5);
>> f = sin(x);
>> intF = cumtrapz(x,f);
error = 2-intF(end)
error =
0.1039
>> x2 = linspace(x(1),x(end),numel(x)*10); %Up sample by 10x
>> f2 = interp1(x,f,x2,'spline'); %Interpolate with spline
>> intF2 = cumtrapz(x2,f2);
>> error = 2-intF2(end) %MUCH LESS ERROR
error =
-0.0038
关于matlab - cumtrapz() 是否有高阶版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47339198/
我将一些 matlab 代码转换为 python 代码并调试这两个代码,我通过调用 cumtrapz 函数得到了不同的结果,我还验证了两者的输入数据是相似的。这是代码: Python 代码 from
介绍 假设我有 N积分x(1:N)我有函数值 f(1:N) , 例如: x = [ 0.0795, 0.1327, 0.1395, 0.5133, 0.6470, 0.7358, 0.7640 ];
Here我找到了一个使用integrate.cumtrapz()的示例,但它对我不起作用 - 当我尝试在中设置initial=0时 y_int = integrate.cumtrapz(y, x, i
我是一名优秀的程序员,十分优秀!