Добавил:
ИВТ Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 блять лр

.docx
Скачиваний:
2
Добавлен:
22.05.2024
Размер:
866.19 Кб
Скачать

Лабораторная работа №4 “Дифференцирование функции, заданной таблично”

возьму синус на интервале от 0 до пи и точка х=pi/5

x=0:pi/10:pi;

y=sin(x);

p2=polyfit(x,y,2)

pa2=polyder(p2)

p3=polyfit(x,y,3)

pa3=polyder(p3)

p4=polyfit(x,y,4)

pa4=polyder(p4)

x0=1;

d1=derivate (y,x0,h1)

x=0:0.01:pi; hold on, plot(x,-0.4050.*x.^2+1.2723.*x-0.0256, 'color', 'red')

for i=1:10 hold on, line([x(30*i-22) x(30*(i+1)-22)],[y(i) y(i+1)])

grid on

end

Функция p = polyfit(x, y, n) находит коэффициенты полинома p(x) степени n, который аппроксимирует функцию y(x) в смысле метода наименьших квадратов.

Функция dp = polyder(p) возвращает производную полинома dp(x) / dx.

p2 =

-0.4050 1.2723 -0.0256

pa2 =

-0.8100 1.2723

p3 =

-0.0000 -0.4050 1.2723 -0.0256

pa3 =

-0.0000 -0.8100 1.2723

p4 =

0.0368 -0.2309 0.0485 0.9874 0.0002

pa4 =

0.1470 -0.6928 0.0970 0.9874

d1=0.5402

значение производной в точке π/5 с точностью 10^−3 , 10^−6 . Пользоваться значением cos π/5

Возьму логарифм и x=2

y=@(x) log(x);

i=[1:1:10];

h=2.^(-i);

x0=2;

e=derivate(y,x0,10^(-10));

for j=0:1:length(h)

[dy1(m),

dy2(m)]=derivate(y,x0,h(j));

d1(m)=abs(d1(m)-e);

d2(m)=abs(d2(m)-e);

end

d1

d2

d1 =

0.4463 0.4711 0.4850 0.49230.4961 0.4981 0.4990 0.4995

0.4998 0.4999

d2 =

0.5226 0.5108 0.5053 0.5026

0.5013 0.5007 0.5003 0.5002

0.5001 0.5000

Для первого теоретическая

погрешность должна быть линейной, тогда как для второго

квадратичная

hold on

grid on

axis equal

plot(h,d1,'o')

plot(h,d2,'o')

fplot(@(x) 1/25*x^2,[0 0.5])

Проверка

hold on grid on axis equal

plot(h,delta1,'r')

plot(h,delta2,'r')

fplot(@(x) 1/25*x^2,[0 0.5])

В первом случае погрешность линейная, а во втором кваратичная

возьму логарифм и точку х=1

погрешность убывает приращение становится нулевым и численная производная равна нулю

Соседние файлы в предмете Численные методы