Перейти к содержанию
    

Matlab, численное решение ДУ

Вот пытаюсь решить простейшее ДУ (упростил ситуацию донельзя)

dx/dt=–x

 

Пробую через анонимную функцию

f = @(xx) -xx;
[t1,x] = ode23(f,[0 1],1);

Получаю:

??? Error using ==> @(xx)-xx

Too many input arguments.

 

Error in ==> odearguments at 111

f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.

 

Error in ==> ode23 at 172

[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

 

Error in ==> k23_48 at 36

[t1,x] = ode23(f,[0 1],1);

-------------------

Выношу в отдельный m-файл

function f=ff(xx)
f=-xx;

Делаю

[t1,x] = ode23(ff,[0 1],1);

Получаю:

??? Input argument "xx" is undefined.

Error in ==> ff at 2

f=-xx;

Что не так с синтаксисом?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...