yes
This commit is contained in:
@@ -13,22 +13,24 @@ function y = b_newt_diff1(Y,h)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function y = newt_diff_fr(Y,X,x,h)
|
function y = newt_diff_fr1(Y,X,x,h)
|
||||||
idx = find(X==x);
|
idx = find(X==x);
|
||||||
if (idx == length(X))
|
if (idx == length(X))
|
||||||
elems = [X(idx), X(idx-1)]
|
elems = [Y(idx), Y(idx-1)]
|
||||||
y = b_newt_diff1(elems,h)
|
y = b_newt_diff1(elems,h)
|
||||||
|
|
||||||
elseif (idx == 1)
|
elseif (idx == 1)
|
||||||
elems = [X(idx), X(idx+1)]
|
elems = [Y(idx), Y(idx+1)]
|
||||||
y = f_newt_diff1(elems,h)
|
y = f_newt_diff1(elems,h)
|
||||||
else
|
else
|
||||||
elems = [X(idx), X(idx+1)]
|
elems = [Y(idx-1), Y(idx+1)]
|
||||||
y = c_newt_diff1(elems,h)
|
y = c_newt_diff1(elems,h)
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
X = [0 1 2 3 4]
|
||||||
|
Y = X.^2
|
||||||
|
newt_diff_fr1(Y,X,1,1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -41,11 +43,11 @@ function y = newt_diff_fr(Y,X,x,h)
|
|||||||
|
|
||||||
|
|
||||||
function y = f_newt_diff2(Y,h)
|
function y = f_newt_diff2(Y,h)
|
||||||
Y = ( Y(3) - 2 * Y(2) + Y(1) ) / h^2
|
y = ( Y(3) - 2 * Y(2) + Y(1) ) / h^2
|
||||||
end
|
end
|
||||||
|
|
||||||
function y = c_newt_diff2(Y,h)
|
function y = c_newt_diff2(Y,h)
|
||||||
Y = ( Y(3) - 2 * Y(2) + Y(1) ) / h^2
|
y = ( Y(3) - (2 * Y(2)) + Y(1) ) / h^2
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@@ -57,18 +59,18 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function y = newt_diff_fr(Y,X,x,h)
|
function y = newt_diff_fr2(Y,X,x,h)
|
||||||
idx = find(X==x);
|
idx = find(X==x);
|
||||||
if (idx == length(X))
|
if (idx == length(X)) %forwards
|
||||||
elems = [X(idx), X(idx-1), X(idx-2)]
|
elems = [Y(idx), Y(idx-1), Y(idx-2)]
|
||||||
y = b_newt_diff1(elems,h)
|
y = b_newt_diff2(elems,h)
|
||||||
|
|
||||||
elseif (idx == 1)
|
elseif (idx == 1) %backwards
|
||||||
elems = [X(idx), X(idx+1), X(idx+2)]
|
elems = [Y(idx), Y(idx+1), Y(idx+2)]
|
||||||
y = f_newt_diff1(elems,h)
|
y = f_newt_diff2(elems,h)
|
||||||
else
|
else % centered
|
||||||
elems = [X(idx-1), X(idx), X(idx+1)]
|
elems = [Y(idx-1), Y(idx), Y(idx+1)]
|
||||||
y = c_newt_diff1(elems,h)
|
y = c_newt_diff2(elems,h)
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user