【问题标题】:Creating function handle from two vectors to pass to an integral function in MATLAB从两个向量创建函数句柄以传递给 MATLAB 中的积分函数
【发布时间】:2020-01-28 09:48:53
【问题描述】:

我不确定我这里是不是很厚,但我不习惯使用手柄等功能。

我正在尝试查找我拥有的一些原始加速度计数据的积分,一位朋友建议我使用辛普森一家可能是最好的方法。所以我发现 MATLAB 有“quad()”函数,但它接受函数句柄作为参数。

如果我有两个向量,一个用于时间,一个用于加速,我如何将它们创建为函数句柄以发送到 quad()?

谢谢

【问题讨论】:

  • 向量是否依赖同一个变量?
  • trapz 是使用梯形规则进行数值积分的内置函数。虽然梯形规则比辛普森规则对连续函数的误差更大,但它可以为离散数据提供良好的近似。

标签: matlab function-handle simpsons-rule


【解决方案1】:

使用这两个之一

f = @(x) sin(x);
x = linspace(a,b,200);
y = f(x);               % values at f(x)

s1 = trapz(x,y);        % you can use trapz
s2 = integral(f,a,b);   % you can use integral

比较结果。实验

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多