MATLAB: Subscript indices must either be real positive integers or logicals.

codeerrorMATLABsubscript

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

Best Answer

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).