calling a function from a script

4 visualizaciones (últimos 30 días)
Ilias Minas
Ilias Minas el 18 de Dic. de 2021
Comentada: Torsten el 19 de Dic. de 2021
Hi all,
I have a differential equation which I want to solve using Euler method.
I created a script which has only the equation:
function dx=differential (t,x);
dx/dt=-x+1/(1+exp(-5*(x-1)));
end
And another script in order to implement Euler's method
f = input('differential.m'); % Enter the function right to the ODE
t0 = input ('Enter initial value of time'); % Value that time starts
x0 = input ('Enter initial value of x'); % Initial condition
tn = input ('End point of time'); % Value that time ends
h = input ('Enter step size'); % TIme step value
% Euler method & Initial conditions
t(1)= t0;
x(1)= x0;
% Euler Loop
for i=1:n
x(i+1) = x(i) + h*f(t(i),x(i));
t(i+1) = t0 + i*h;
end
I want when I press play to the script of Euler's solution, instead of putting the differential equation manually, to call it direclty from the script which includes the equation.
How can I do this, and in which form should the equation be written in order to achieve this?
Thank you very much
Yours sincerely
Ilias Minas

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 18 de Dic. de 2021
@Ilias Minas - can't you just replace f with differential like
t0 = input ('Enter initial value of time'); % Value that time starts
x0 = input ('Enter initial value of x'); % Initial condition
tn = input ('End point of time'); % Value that time ends
h = input ('Enter step size'); % TIme step value
% Euler method & Initial conditions
t(1)= t0;
x(1)= x0;
% Euler Loop
for i=1:n
x(i+1) = x(i) + h*differential(t(i),x(i));
t(i+1) = t0 + i*h;
end
  4 comentarios
Voss
Voss el 19 de Dic. de 2021
The function 'differential':
function dx=differential (t,x);
dx/dt=-x+1/(1+exp(-5*(x-1)));
end
contains a syntax error: 'dx/dt' is not a valid expression for assignment
Torsten
Torsten el 19 de Dic. de 2021
function dx = differential (t,x);
dx = -x+1/(1+exp(-5*(x-1)));
end

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by