Array indices must be positive integers or logical values.
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
clc;
clear all;
x=1;
h=10;
f = @(x) sin(((x^2+x)))
for n = 1:10
df(n-1) = (f(x+(h^(n-1)) - f(x)))/(h^n-1)
end
not sure what I am doing wrong to get this error.
0 Commenti
Risposte (1)
Johannes Fischer
il 23 Ott 2019
The first entry in any kind of Matlab vector/array/matrix... is indexed with 1 (and not 0, as for example in C++). That is why you get an error in the first iteration of your for loop.
Two options:
adjust the indieces for df
for n = 1:10
df(n) = (f(x+(h^(n-1)) - f(x)))/(h^n-1);
end
or, in Matlab you can get rid or the for loop and matalb calculates the resulting array in a single line, in many cases this is faster than usinng for loops
n = 1:10;
df = (f(x+(h^(n-1)) - f(x)))/(h^n-1);
0 Commenti
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!