Символические функции в Matlab - PullRequest
3 голосов
/ 30 января 2012

Извините, если раньше я не был прав;Я хотел бы работать с символическими функциями, такими как 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?

Ответы [ 2 ]

1 голос
/ 31 января 2012

Оказывается, это довольно легко (после того, как я потратил 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).

1 голос
/ 31 января 2012
...