Azzera filtri
Azzera filtri

unknown code- understand it up to the for loop but am lost from there. Can anyone lend a hand? thanks.

1 visualizzazione (ultimi 30 giorni)
dat=load('data.dat')
a=dat(:,1)
b=dat(:,2)
s=size(a)
s=s(1)
out=zeros(s,1)
for n=1:s
out(n)=(b(n+1)-b(n-1))/(a(n+1)-a(n-1))
end
c=[a out]

Risposta accettata

Thiago Henrique Gomes Lobato
What the code was supposed to be? it looks like the variable out is suppose to be the numerical derivative of b with respect to a. If the distance between each "a" is uniform and increasing, than this is the central scheme for 1st order differentiation with 2nd order accuracy and the line describe basically .
  2 Commenti
Josh Williams
Josh Williams il 15 Mar 2020
not too sure what the code is supposed to be, thats what i have been tasked to find out. I can see now where your coming from with the derivations though. what does the line s=s(1) do?
Thiago Henrique Gomes Lobato
Size returns two values, so s(1) saves the first dimension in order to perform the loop and size assignment. It would be the same if you did:
s=size(a,1);
out=zeros(s,1);
...

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices 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!

Translated by