2012-04-20 5 views
1

Я просто немного потерялся здесь. Я использую последнюю версию MATLAB с символическим набором инструментов математики. В настоящий момент я работаю над системой, которая имеет такие уравнения, как x = theta (t) +2 (конечно, намного сложнее и дольше). Теперь я хотел бы дифференцировать это уравнение через theta (t). Следовательно, я должен получить x = 1. Однако, если я использую команду diff (x, theta), я получаю сообщение Invalid variable.Дифференцировать функцию с помощью функции

Как это сделать? Что я делаю не так?

Спасибо!

+3

Вы можете просто установить x = theta + 2 (т. Е. Theta - это символическая переменная, а не функция), дифференцируйте это по отношению к тете, а затем замените в значении или выражении для theta позже, используя 'subs'. – James

+0

как определяется тета. Это fct или массив/матрица? – Rasman

+0

@James Да, это звучит разумно. – user1346277

ответ

0

У меня была эта же проблема, но с использованием Maple или sympy. Попробуем подставить тета (t) тетой в правой части уравнения и затем дифференцируем wrt. тета.

+0

Я еще об этом не думал. Да, я думаю, это должно сработать. Тем не менее, это позор, что, как представляется, Matlab не может сделать это без этого решения. Благодаря! – user1346277