matlab中的符号函数

发布于 2024-12-31 22:54:57 字数 309 浏览 3 评论 0原文

如果我以前的说法不正确,我很抱歉;我想使用符号函数,例如 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 中实现这一点?

I'm sorry if I'm not formerly correct; I would like to work with symbolic functions, like i.e. x(t) without the need to actually define x.

This may be useful because sometimes you'll have functions of x, and you want to calculate the derivative in t. For example

y(x) = y(x(t)) = t*x(t)

d y(x)             d x(t)
------  = x(t)+ t* ------
 d t                dt

Is there a way to accomplish this in matlab?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

徒留西风 2025-01-07 22:54:57

事实证明这很简单(我花了 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)

Turns out this is pretty easy (after I spent 20 minutes making it very hard).

>> y = sym('t*x(t)')
>> y_dot = diff(y,t)
y_dot =
t*diff(x(t), t) + x(t)

You can also define some intermediates if you want

>> f = sym('x(t)');
>> y = t*f;
>> diff(y,'t')
ans =
t*diff(x(t), t) + x(t)

I also discovered the mupad command, which is worth trying out. Within the mupad window, type y(x) := t*x(t) and diff(y(x),t).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文