разные решения для ODE45 Matlab - PullRequest
0 голосов
/ 19 мая 2018

Я собираюсь решить следующую нелинейную DE:

Код # 1:

tspan1 =t0:0.05:TT;
[t1,y1] = ode45(@(t1,T) ((1-alpha)*Q-sigm*(T.^4))/R, tspan1, t0);
h1=(TT-t0)/(size(y1,1)-1);
Tspan1=t0:h1:TT;
figure(55);plot(Tspan1,y1,'b');

Код # 2:

tspan=[t0 TT];
[t,y] = ode45(@(t,T) ((1-alpha)*Q-sigm*(T.^4))/R, tspan, t0);
h=(TT-t0)/(size(y,1)-1);
Tspan=t0:h:TT;
figure(5);plot(Tspan,y,'b');

где:

R=2.912;          
Q = 342;          
alpha=0.3;
sigm=5.67*(10^(-8));  
TT=20;
t0=0;

почему результаты отличаются?

1 Ответ

0 голосов
/ 19 мая 2018

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

figure(55);plot(t1,y1,'b');
figure(5);plot(t,y,'b');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...