Array indices must be positive or logical values
    2 views (last 30 days)
  
       Show older comments
    
I am trying to conduct Implicit Midpoint and I am getting stuck. Why does this error appear? It is also coming up for my Adams-Bashforth.
clc
clear
close all
f= @(x,y)(-50*(y-cos(x)));
N = 100;
T = 1;
y0 = 0;
h = T/N;
x= (0:h:1);
y = zeros(N+1,1);
y(1) = y0;
for i = 1:N
   j = i+0.5
  y(i+1) = y(i) + h*f(x(j), y(j));
end
0 Comments
Answers (1)
  Steven Lord
    
      
 on 27 Feb 2021
        for i = 1:N
   j = i+0.5
  y(i+1) = y(i) + h*f(x(j), y(j));
end
There's no such thing as the 1.5th element of either x or y in MATLAB, which is what you're trying to use as inputs to f on the third line of this code segment. Numeric indices must be real positive finite integer values.
0 Comments
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
