Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Mathematica] Задание функции

Ответить
Настройки темы
Разное - [Mathematica] Задание функции

Аватара для 0_5Mandarinki

Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет. Есть ли у кого идеи как мне разрешить довольно простую, казалось бы, задачку:

В Wolfram Mathematica 6.0 задана функция Func:
Код: Выделить весь код
Func[x_, y_, t_] := x + y*Sin[t];
Требуется задать функцию DFunc[x_, y_, t_] , являющейся частной производной функции Func по t. По идее, это записывается так:
Код: Выделить весь код
DFun[x_, y_, t_] := D[Fun[x, y, t], t];
И для буквенных выражений x=a; y=b; t=c; все работает и выдается b Cos[c]. Но если t=10, выдается ошибка: "General::ivar: 10 is not a valid variable" и частная производная берется не по t, а по '10'.

Вопрос: так как же мне задать функцию DFunc[x_, y_, t_] , являющейся частной производной функции Func по t, чтобы потом подставлять в нее численные значения?

На самом деле задаваемая функция более громоздкая, поэтому вариант "прописать частную производную ручками" не подходит.

Отправлено: 22:52, 27-10-2008

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


вариант 1: (требуется, чтобы вторая строчка сразу шла за первой)
Код: Выделить весь код
Func[x_, y_, t_] := x + y*Sin[t]; (*отложенное присваивание*)
DFun[x_, y_, t_] = D[Func[x, y, t], t]; (*немедленное присваивание*)
второй вариант: (можно менять Func в любом месте, подставится последний вариант)
Код: Выделить весь код
DFun[x_, y_, t_] := ReleaseHold[D[Func[x, y, Hold[t]], Hold[t]]];
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:28, 28-10-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для 0_5Mandarinki

Новый участник


Сообщения: 17
Благодарности: 0

Профиль | Отправить PM | Цитировать


pva, спасибо большое.
DFun[x_, y_, t_] := ReleaseHold[D[Func[x, y, Hold[t]], Hold[t]]]; очень помогло

Отправлено: 20:39, 29-10-2008 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [Mathematica] Задание функции

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Задание внутри Wurka86 Программирование и базы данных 1 25-05-2008 22:18
[решено] C/C++ | Задание в книге по С Grekalov Программирование и базы данных 2 13-08-2006 13:58
[решено] Mathematica 4.2, как заставить дождаться конца установки? rhiannon Автоматическая установка приложений 5 21-04-2005 07:51
Задание на Paskal-e Doktor Программирование и базы данных 5 08-01-2003 13:51




 
Переход