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

    

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;

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

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация