如果我以前不正确,我很抱歉;我想使用符号函数,比如x(t)
不需要实际定义x
.
这可能很有用,因为有时您会有 的函数x
,并且您想计算 中的导数t
。例如
y(x) = y(x(t)) = t*x(t)
d y(x) d x(t)
------ = x(t)+ t* ------
d t dt
有没有办法在matlab中完成这个?
如果我以前不正确,我很抱歉;我想使用符号函数,比如x(t)
不需要实际定义x
.
这可能很有用,因为有时您会有 的函数x
,并且您想计算 中的导数t
。例如
y(x) = y(x(t)) = t*x(t)
d y(x) d x(t)
------ = x(t)+ t* ------
d t dt
有没有办法在matlab中完成这个?
事实证明这很容易(在我花了 20 分钟让它变得非常困难之后)。
>> y = sym('t*x(t)')
>> y_dot = diff(y,t)
y_dot =
t*diff(x(t), t) + x(t)
如果需要,您还可以定义一些中间体
>> f = sym('x(t)');
>> y = t*f;
>> diff(y,'t')
ans =
t*diff(x(t), t) + x(t)
我还发现了这个mupad
命令,值得一试。在 mupad 窗口中,键入y(x) := t*x(t)
和diff(y(x),t)
。