2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 [Maple] Численно решить дифур с численно заданной функцией
Сообщение20.04.2012, 20:44 
Здравствуйте. Нужно численно решить дифур, некоторые функции которого являются решением другого дифура. Привожу упрощённый пример (функции на самом деле другие):

Код:
sol1 := dsolve({diff(x(t), t) = x(t), x(0) = 0.0}, numeric);
func := q -> op(2, op(2, sol1(q)));
dsolve({diff(z(t), t) = func(t) * z(t), z(0) = 0.1}, numeric);


Понятное дело, этот код не работает, ибо пытается вызвать op(2, sol1(t))...
Как быть?

 
 
 
 Re: [Maple] Численно решить дифур с численно заданной функцией
Сообщение22.04.2012, 10:41 
Решать систему
Код:
>sys:= {diff(x(t), t) = x(t), diff(z(t), t) = x(t) * z(t), x(0)=0.1, z(0)=0.1}:
> f:= dsolve (sys, numeric, range=0..3):
> plots[odeplot](f, [t, z(t)]); # вывод на экран решения
(Изменил одно из начальных условий, поскольку оно было для меня не очень показательным.)

 
 
 
 Re: [Maple] Численно решить дифур с численно заданной функцией
Сообщение23.04.2012, 16:49 
Andrew Gubarev, нет, такой вариант не подходит. Я уже писал, что реальный пример существенно сложней и там такое сделать не получится. ответ на свой вопрос я уже получил:

нужно задать дополнительный параметр в dsolve:
Код:
output = listprocedure

потом задавать функцию-решение ДУ как
Код:
f := eval(x(t), sol1)
.

-- Пн апр 23, 2012 18:14:11 --

Если кому-то понадобится, подробный ответ здесь http://www.mapleprimes.com/questions/133218-How-Can-I-Solve-DE-With-Function-Which?submit=133303#comment133303

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group