首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在函数定义中使用极大差?

如何在函数定义中使用极大差?
EN

Stack Overflow用户
提问于 2011-12-12 04:56:34
回答 4查看 9.1K关注 0票数 16

我想在另一个函数中使用函数的导数。如何在Maxima完成这一工作?

例如:

代码语言:javascript
复制
f(x) := 2*x^4;
g(x) := diff(f(x),x)-8;

现在g(x)像预期的那样生成8x^3-8,但是 g(0)给出了一个错误,因为diff(f(0),0)没有意义。但是我应该如何正确定义g呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-19 00:43:32

迈克尔的答案是好的,但它做的区别,每次叫g(x)。(而且,通常您会看到它被包装在block语句中,以确保y被正确地本地化)。

有一种方法可以强制RHS在定义时和一般的x中进行评估。

语法是

代码语言:javascript
复制
(%i1) f(x) := 2*x^4;
                                            4
(%o1)                            f(x) := 2 x
(%i2) g(x) := ''(diff(f(x), x) - 8);
                                          3
(%o2)                          g(x) := 8 x  - 8
(%i3) g(0);
(%o3)                                 - 8

与块结构相比:

代码语言:javascript
复制
(%i4) h(x) := block([y], subst([y = x], diff(f(y), y) - 8));
(%o4)        h(x) := block([y], subst([y = x], diff(f(y), y) - 8))
(%i5) h(0);
(%o5)                                 - 8

注意(%o4),它显示RHS未评估。

参考文献:http://www.math.utexas.edu/pipermail/maxima/2007/004706.html

票数 13
EN

Stack Overflow用户

发布于 2012-05-30 21:24:51

请注意,只有在分析代码时才能理解引号。如果您只在解释器中工作,这是可以的,但是如果您将内容放入脚本中,则有可能产生意外的效果。

另一种方法。它在解释器和脚本中的工作原理是一样的。

代码语言:javascript
复制
define (g(x), diff (f(x), x) - 8);

见“定义”。

票数 20
EN

Stack Overflow用户

发布于 2011-12-12 05:39:14

不确定这是否是最简单的答案,但它似乎对我做了正确的事情。

代码语言:javascript
复制
(%i) g(x) := subst([y = x], diff(f(y), y) - 8);

(%i) g(x);
         8 x^3 - 8
(%i) g(0);
         -8
(%i) g(1);
         0
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8470114

复制
相关文章

相似问题

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