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

1 view (last 30 days)
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]

Accepted Answer

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 Comments
Josh Williams
Josh Williams on 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);
...

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!