2014-10-31 2 views
0

В попытке решить дифференциальное уравнение показано нижеВключение функции, зависящей от времени в численном difeq

function dr = ball(t,b) 

T2 = 1; 
T1 = T2/2; 
d = 0; 
R = 0.2; 

dr = zeros(3,1); 
dr(1) = (-1/T2)*b(1)-d*b(2); 
dr(2) = (-1/T2)*b(2) + d*b(1) + R*b(3); 
dr(3) = (-1/T1)*b(3) - R*b(2) ; 

end 

Я сделал это с помощью ode45. Теперь я хочу сделать это, когда мое R не является функцией t. Как бы включить это в настройку дифференциального уравнения.

+0

Я полагаю, вы имеете в виду, что 'R' является функцией' t'? Как это определяется? – David

+0

R идет как sin (t) (временные константы) – yankeefan11

ответ

2

Вы можете использовать вход t, который дает вам текущий временной интервал и определяет R, что бы вы ни хотели.

function dr = ball(t,b) 

T2 = 1; 
T1 = T2/2; 
d = 0; 
R = sin(t); %// for example 

dr = zeros(3,1); 
dr(1) = (-1/T2)*b(1)-d*b(2); 
dr(2) = (-1/T2)*b(2) + d*b(1) + R*b(3); 
dr(3) = (-1/T1)*b(3) - R*b(2) ; 

end 
Смежные вопросы