0

所以我有f(z)z:= a + I*b我想创建能够与我的 z 一起工作的 f`(z)。

我第一次尝试fd:= diff(f(z), z)但我的代码失败并出现错误,(in fd) invalid input: diff received a+I*b,这对其第二个参数无效。

所以我找到的唯一解决方案是分两步创建 f'。计算diff(f(z), z)成一些变量并手动将输出复制到fd:= z-> ...copied stuff...

那么对于此类问题,正确的解决方案是什么——如何摆脱手动复制?

4

1 回答 1

2

我不是 100% 确定我理解你想要什么,但这是我认为你想要什么的建议:

  1. 定义 f(z):

    f := z -> whatever f does with z;

  2. 定义导数 df(z):

    df := D(f);

现在,如果f := z -> z^2, thendf(a + b*I)将评估为2*a + 2*b*I

我希望这有帮助。

于 2011-09-10T20:17:37.650 回答