1

我想在 x=1.0 点计算 Matlab 中以下函数的导数:

 v = sin(x)+ cos(3*x)

我试过了,但它返回 py = []

sym x,
x=1.0,
y=sin(x) + cos(3*x),
py=diff(y);
4

4 回答 4

2
syms x
y=sin(x)+cos(3*x);
py=diff(y);
subs(py,x,1.0)
于 2013-10-28T00:39:41.103 回答
0

Matlab中有多个函数叫做diff。对这个问题很重要的是“标准”差异,它用于向量/矩阵输入。这就是你所说的。如果您阅读文档,您将了解空输出: http: //www.mathworks.de/de/help/matlab/ref/diff.html

适合您的情况是符号工具箱:http ://www.mathworks.de/de/help/symbolic/diff.html如果工具箱可用,示例说明如何使用。

于 2013-10-27T21:19:54.593 回答
0
syms x real
v = sin(x)+ cos(3*x)
diff(v)
于 2013-10-27T21:49:00.707 回答
0

有了这样一个简单的函数v(x) = sin(x)+ cos(3*x),只需对其导数使用显式公式,即vv = dv/dx = cos(x) - 3*sin(3*x)

那么它在 x = 1.0 中的值是:vv(1.0) = cos(1.0) - 3*sin(3*1.0)

于 2013-10-27T23:05:56.050 回答