我想計算下列函數的導數在Matlab中的點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);
我想計算下列函數的導數在Matlab中的點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);
Matlab中有多個函數叫做diff。重要的是這個問題是「標準」比較,這是vecor /矩陣輸入。這就是你所說的。如果您閱讀文檔,您將瞭解空輸出:http://www.mathworks.de/de/help/matlab/ref/diff.html
適合您的情況是符號工具箱:http://www.mathworks.de/de/help/symbolic/diff.html如果工具箱可用,這些示例說明如何使用。
syms x real
v = sin(x)+ cos(3*x)
diff(v)
通過這樣的簡單的功能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)
。
syms x
y=sin(x)+cos(3*x);
py=diff(y);
subs(py,x,1.0)
行'sym x'不會像您想要的那樣創建符號變量'x'。從答案中可以看出,正確的命令是「sum x」(或者'x = sym('x');')。您需要使用['subs'](http://www.mathworks.com/help/symbolic/subs.html)來評估符號派生。 – horchler