одовый решатель Matlab

Я пытаюсь понять синтаксис ode45 и не понимаю, почему иногда это ode45 (odefun, tspan, y0), а иногда ode45 (@odefun, tspan, y0). Я хотел бы понять значение символа @ перед функцией odefun. В частности, мне непонятен следующий синтаксис: (он должен решать уравнение y '= 2 * t)


tspan = [0 5];
y0 = 0;
[t,y] = ode45(@(t,y) 2*t, tspan, y0); 

Означает ли @ (t, y) diff (t, y)? почему нет знака равенства между @ (t, y) и 2 * t, все это остается для меня очень загадочным ... Если бы кто-то мог меня зажечь, было бы здорово. Большое спасибо, С уважением,


person Julia Delacour    schedule 03.10.2017    source источник
comment
См. документацию по анонимным функциям   -  person Wolfie    schedule 03.10.2017


Ответы (1)


@odefun - более старый или альтернативный способ обращения к функции odefun.

@(t,y) 2*t

анонимная функция или лямбда-выражение, логически эквивалентное

function dy = odefun(t,y)
    dy = 2*t
end
person Lutz Lehmann    schedule 03.10.2017