Matlab 如何知道生成向量的函数来计算 cumtrapz?
How Matlab knows the function that a vector is produced by to calculate cumtrapz?
我可能有一个愚蠢的问题。
当我在 Matlab y=[1 4] 中编写以下脚本时,然后当我使用 cumtrapz(y) 时,我得到 [0 2.5]。我知道 cumtrapz 认为此方法中的 deltaX=1。
我的问题是 matlab 如何知道向量 1,4 是由 f(x)=x^2 创建的?
可以说它是由 f(x)=3x-2 通过识别 y 向量值或许多其他类型的函数创建的。那么matlab如何知道哪个函数产生了Y向量以近似函数的积分?
谢谢
MATLAB 不知道这些值来自哪里
a = [1 4 5 9]
s = cumtrapz(a)
s =
0.00000 2.50000 7.00000 14.00000
标准步骤是 1 所以:
h = 1;
s(i) = s(i-1) + h*(a(i-1)+a(i))/2
Matlab 不知道您的矢量是由 f(x) = x^2
创建的。 trapz
计算每对值之间的 线性 插值。
所以cumtrapz
简单地计算一个2乘2的移动和,然后将结果除以2。
% Sample data
Y = [1 4 9 16 25];
% Using cumtrapz
Q1 = diff(cumtrapz(Y))
%Q1 = [2.5, 6.5, 12.5, 20.5]
% Using a moving sum
Q2 = conv(Y,ones(2,1),'valid')/2
%Q2 = [2.5, 6.5, 12.5, 20.5]
带有 f(x) = sin(x)
的图形示例:
cumtrapz
简单地应用 cumsum
中间点的值。
我可能有一个愚蠢的问题。 当我在 Matlab y=[1 4] 中编写以下脚本时,然后当我使用 cumtrapz(y) 时,我得到 [0 2.5]。我知道 cumtrapz 认为此方法中的 deltaX=1。 我的问题是 matlab 如何知道向量 1,4 是由 f(x)=x^2 创建的? 可以说它是由 f(x)=3x-2 通过识别 y 向量值或许多其他类型的函数创建的。那么matlab如何知道哪个函数产生了Y向量以近似函数的积分? 谢谢
MATLAB 不知道这些值来自哪里
a = [1 4 5 9]
s = cumtrapz(a)
s =
0.00000 2.50000 7.00000 14.00000
标准步骤是 1 所以:
h = 1;
s(i) = s(i-1) + h*(a(i-1)+a(i))/2
Matlab 不知道您的矢量是由 f(x) = x^2
创建的。 trapz
计算每对值之间的 线性 插值。
所以cumtrapz
简单地计算一个2乘2的移动和,然后将结果除以2。
% Sample data
Y = [1 4 9 16 25];
% Using cumtrapz
Q1 = diff(cumtrapz(Y))
%Q1 = [2.5, 6.5, 12.5, 20.5]
% Using a moving sum
Q2 = conv(Y,ones(2,1),'valid')/2
%Q2 = [2.5, 6.5, 12.5, 20.5]
带有 f(x) = sin(x)
的图形示例:
cumtrapz
简单地应用 cumsum
中间点的值。