首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Octave中找到函数的导数?

如何在Octave中找到函数的导数?
EN

Stack Overflow用户
提问于 2016-03-27 11:39:50
回答 3查看 24.9K关注 0票数 7

输入:

Xf=和保存点的x值的数组

Yf=保存点方法的y值的数组=2点向前差,2点向后差,3点中心差,5点中心差

输出:

X=包含可实际使用所选方法的有效x值的数组(例如,不能在Xf数组,因为它后面没有值)

DF=这些点处的导数

我需要给一个脚本一组点,然后计算这些点的导数使用4种不同的方法而不使用内置的派生函数,比如diff..。我需要一些帮助来编写其中的一个代码,然后我想我应该能够弄清楚如何完成其余的工作。

2-point forward difference

我的尝试是:

代码语言:javascript
复制
[a, minidx] = min(Xf);
[b, maxidx] = max(Xf);
n = 10;
h = (b-a)/n;
f = (x .^3) .* e.^(-x) .* cos(x);

If method = "forward" #Input by user

    X = [min(Xf), Xf(maxidx-1)];
    for k = min(Xf):n # not sure if this is the right iteration range...

        f(1) = f(x-2*h) + 8*f(x +h);
        f(2) = 8*f(x-h) + f(x+2*h);
        DF = (f1-f2)/(12*h);

    endfor
endif
EN

Stack Overflow用户

发布于 2016-03-27 22:16:02

以下是有关Matlab如何计算导数的一些文档:

代码语言:javascript
复制
diff Difference and approximate derivative.
     diff(X), for a vector X, is [X(2)-X(1)  X(3)-X(2) ... X(n)-X(n-1)].
     diff(X), for a matrix X, is the matrix of row differences,
           [X(2:n,:) - X(1:n-1,:)].
     diff(X), for an N-D array X, is the difference along the first
          non-singleton dimension of X.
     diff(X,N) is the N-th order difference along the first non-singleton 
          dimension (denote it by DIM). If N >= size(X,DIM), diff takes 
          successive differences along the next non-singleton dimension.
     diff(X,N,DIM) is the Nth difference function along dimension DIM. 
         If N >= size(X,DIM), diff returns an empty array.

Examples:
   h = .001; x = 0:h:pi;
   diff(sin(x.^2))/h is an approximation to 2*cos(x.^2).*x
   diff((1:10).^2) is 3:2:19

   If X = [3 7 5
           0 9 2]
   then diff(X,1,1) is [-3 2 -3], diff(X,1,2) is [4 -2
                                                  9 -7],
   diff(X,2,2) is the 2nd order difference along the dimension 2, and
   diff(X,3,2) is the empty matrix.

下面是另一个示例:

代码语言:javascript
复制
xp= diff(xf);
yp= diff(yf);

% derivative:
dydx=yp./xp;
% also try:
dydx1=gradient(yf)./gradient(xf)
票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36243590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档