matlab符号求导

一个角度bata,关于时间的

函数为y=sin(bata)

y对时间求导,得到的结果是cos(bata)*bata'
y又要对bata求导,得到的结果是cos(bata)

如何用matlab同时实现这2点,关键是如何声明bata

我只会分别实现,但是我的方法不能同时实现,求助达人
--------------------
实现1
>> f1=sym('f1(t)');
>> y=sin(f1)
>> diff(y)
ans =
cos(f1(t))*diff(f1(t),t)
----------------
实现2
>> syms bata
>> y=sin(bata)
>> diff(y)
ans =
cos(bata)
-----------
不是分别求导,是bate是关于t的函数

第1个回答  推荐于2016-07-14
syms x beta
y=sin(beta*x);
dydx=diff(y,x)
dyd_beta=diff(y,beta)

注:
diff(y,x)表示y对x求导。
diff(y,beta)表示y对beta求导。本回答被提问者采纳
第2个回答  2020-03-11
需要知道x和t的函数关系才能求导数啊,比如x
=
t^2:
syms
x
y
t;
x
=
t^2;
y
=
sin(x);
diff(y,
t)
结果是:
ans
=
2*t*cos(t^2)