Array indices must be positive or logical values

2 Ansichten (letzte 30 Tage)
Patrick Scott
Patrick Scott am 27 Feb. 2021
Beantwortet: Steven Lord am 27 Feb. 2021
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

Antworten (1)

Steven Lord
Steven Lord am 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.

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by