ЧМ_4
.docxНикитиной Софии ИВТ-24
Дифференцирование функции, заданной таблично.
%ф-я ln(x)
syms x;
h=0.001;
f=log(x);
x=exp(1);
%используем 2ф-лу (нахождение центр. конеч. разностью)
dy=(subs(f,x+h)-subs(f,x-h))/(2*h);%=0.367879457767174
h=10^-6;
dy=(subs(f,x+h)-subs(f,x-h))/(2*h);%=0.367879441240802
syms x
h=10^-6;
g1=taylor(log(exp(1)+h),x,'ExpansionPoint',exp(1)+h,'Order',4);
% разложение в т. x+h
g2=taylor(log(exp(1)-h)),x,'ExpansionPoint',exp(1)-h,'Order',4);
% разложение в т. x-h
G=(g1-g2)/(2*h)
h=0.001;
g1=taylor(log(exp(1)+h),x,'ExpansionPoint',exp(1)+h,'Order',4);
% разложение в т. x+h
g2=taylor(log(exp(1)-h),x,'ExpansionPoint',exp(1)-h,'Order',4);
% разложение в т. x-h
G=(g1-g2)/(2*h)
function dy = dy(h)
syms x
f=log(x);
x=exp(1);
dy1=((subs(f,x)-subs(f,x-h))/h) %лев.конеч.разность
dy2=((subs(f,x+h)-subs(f,x-h))/(2*h))%центр.конеч.разность
end
dy(1/2)
dy1 =0.406534109830390
dy2 =0.372114678413501
dy(1/4)
dy1 = 0.385910829686682
dy2 = 0.368921967798141
dy(1/8)
dy1 = 0.376606489331218
dy2 = 0.368139078318265
Левая конечная разность убывает линейно и имеет большую погрешность. Центральная конечная разность убывает с квадратичной скоростью и имеет погрешность меньшую.
syms x x1;
f=log(x);
x=exp(1);
h=1/2;
while h>0.01
dy=(subs(f,x+h)-subs(f,x-h))/(2*h)
subs(diff(f,x1,1),x)-dy
h=h/2;
disp("-------------------------------------------------")
end
dy = 0.3377
ans = 0.0302
dy = 0.3519
ans = 0.0159
dy = 0.3597
ans = 0.0082
dy = 0.3637
ans = 0.0042
dy = 0.3658
ans = 0.0021
Погрешность монотонно убывает при уменьшении h.