Subscript indices must either be real positive integers or logicals.

Hello. I am trying to write a script which will approximate a integro-differential equation using the general theta method. I have all the code written up already but for some reason I am getting this error "Subscript indices must either be real positive integers or logicals." in the following line
y(2)=(y(1)+theta1*h*h(-theta2*y(1)-(1-theta2)*y(1))+(1-theta1)*h*h*(-theta2*exp(-lambda*h)*y(1)))/(1+(1-theta1)*(1-theta2)*h*h);
I have set up all my initial values as follows:
h=0.05;
tmax=1000;
y=zeros(1,tmax/h+1);
y(1)=1;
lambda=1;
theta1=1;
theta2=1;
Can any one help please? Thank you

 Respuesta aceptada

Walter Roberson
Walter Roberson el 25 de Nov. de 2015
h(-theta2*y(1)-(1-theta2)*y(1)) means to index h at location -theta2*y(1)-(1-theta2)*y(1)
MATLAB does not have implicit multiplication. Variable followed by '(' is indexing in MATLAB (or function call).

1 comentario

I see it now. I just forgot to put '*' in there. Thank you so much. It all works now! :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Mathematics en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 25 de Nov. de 2015

Comentada:

el 25 de Nov. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by