3

如果我以前不正确,我很抱歉;我想使用符号函数,比如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中完成这个?

4

2 回答 2

1

那样可以么? http://www.cs.utah.edu/~germain/PPS/Topics/Matlab/symbolic_math.html

于 2012-01-30T23:12:40.217 回答
1

事实证明这很容易(在我花了 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)

于 2012-01-31T00:20:20.767 回答